Как преобразовать Numpy float в int Array в Python

Numpy astype () — это функция приведения типов, которая может приводить к указанному типу. Если вы хотите преобразовать массив с плавающей запятой Numpy в int, вы можете использовать функцию astype (). Чтобы преобразовать один из них в int или один из других типов в numpy, используйте метод numpy astype ().

Шаги по преобразованию Numpy float в массив int

  1. Шаг 1. Создайте массив numpy со значениями с плавающей запятой.
  2. Шаг 2. Преобразуйте число с плавающей точкой Numpy в int с помощью numpy.atsype () function

Шаг 1. Создайте массив numpy

См. следующий код.

 # app.pyimport numpy как npog_array = np.array ([[11.21, 19.21], [46.21, 18.21], [29.21, 21.21]]) print (og_array) 

Вывод

 python3 app.py [[11.21 19.21] [46.21 18.21] [29.21 10.21]] 

Шаг 2: Преобразуйте Numpy float в int с помощью numpy.astype ()

Давайте преобразуем массив float в массив int.

 # app.pyimport numpy as npog_array = np.array ([[11.21, 19.21], [46.21, 18.21], [29.21, 21.21]]) print (og_array) print ('После преобразования массива numpy с плавающей запятой в массив int'  ) int_array = og_array.astype (int) print (int_a  rray) 

Вывод

 python3 app.py [[11.21 19.21] [46.21 18.21] [29.21 21.21]] После преобразования  numpy float array в int array [[11 19] [46 18] [29 21]] 

Из выходных данных вы можете видеть, что все значения преобразованы в целочисленные значения.

Теперь мы проверим dtype данного объекта массива.

 # app.pyimport numpy as  npog_array = np.array ([[11.21, 19.21], [46.21, 18.21], [29.21, 21.21]]) print (og_array) print ('После преобразования массива numpy с плавающей запятой в массив int') int_array = og_array.astype (int  ) print (int_array) print ("Тип данных int_array:") print (int_array.dtype) 

Вывод

 python3 app.py [[11.21 19.21] [46.21 18.21] [29.21 21.21]] После преобразования массива numpy с плавающей запятой в массив int [[11 19] [46 18] [29 21]] Тип данных int_array: int64 

Мы видим, что тип данных преобразованного массива является целым числом.

Преобразовать Numpy f loat array в int с помощью функции np.int_ ()

Numpy int_ () с использованием типа Python , представляющего скалярный тип NumPy. Вы используете его как Pythons int.

См. Следующий код.

 # app.pyimport numpy as npog_array = np.array ([[11.21, 19.21], [  46.21, 18.21], [29.21, 21.21]]) print (og_array) print ('После преобразования массива с плавающей запятой numpy в массив int') int_array = np.int_ (og_array) print (int_array) print ("Тип данных int_array -  : ") print (int_array.dtype) 

Вывод

 python3 app.py [[11.21 19.21] [46.21 18.21]  [29.21 21.21]] После преобразования массива numpy с плавающей запятой в массив int [[11 19] [46 18] [29 21]] Тип данных int_array: int64 

Мы получим тот же результат , но здесь разные методы.

Но я предлагаю использовать функцию numpy astype (), которая может преобразовывать стандартный тип данных.

Numpy astype () с np.inf () и np.nan ()

Допустим, в нашем исходном массиве некоторые значения не плавающие, но значения np.inf или np.nan .

См. следующий код.

 # app.pyimport numpy as npog_array = np.array ([[11.21, np.nan], [46.21, 18.21], [29.21, np.inf]]) print (og_array) print ('После преобразования массива numpy с плавающей запятой  в массив int ') int_array = og_array.astype (int) print (int_array) 

Вывод

 python3 app.py [  [11.21 нан] [46.21 18.21] [29.21 inf]] После преобразования массива numpy с плавающей запятой в массив int [[11 -9223372036854775808] [46 18] [29 -9223372036854775808]] 

Из вывода, вы можете видеть, что результаты неожиданные.

Итак, вам нужно быть осторожным, когда вы конвертируете все значения массива в другие данные ty значение pe. Numpy nan и numpy inf являются значениями с плавающей запятой и не могут быть осмысленно преобразованы в int.

Преобразовать массив Numpy в комплексное число

Функция Numpy astype () может преобразовать любой тип данных в любой другой тип данных. Он не обязательно конвертируется в определенные типы данных.

Давайте преобразуем тип данных float в тип ‘ complex128′ с помощью numpy.astype ().

См. следующий код.

 # app.pyimport numpy as npog_array = np.array ([[11.21, 19.21], [46.21, 18.21], [29.21, 21.21]  ]) print (og_array) print ('После преобразования массива numpy float в сложный массив') int_array = og_array.astype (complex) print (int_array) print ("Тип данных int_array:") print (int_array.dtype) 

Вывод

 python3 app.py [[11.21 19.21] [46.21 18.21] [29.21 21.21]] После преобразования массива numpy с плавающей запятой  в сложный массив [[11.21 + 0.j 19.21 + 0.j] [46.21 + 0.j 18.21 + 0.j] [29.21 + 0.j 21.21 + 0.j]] Тип данных int_array: complex128 

Итак, мы преобразовали массив numpy с плавающей запятой в сложный массив numpy с помощью функции np astype ().

Заключение

Функция Numpy astype () относительно проста в использовании и поставляется вместе с другими подобными утилитами. lizable, и мы можем преобразовать один стандартный тип данных в другой тип данных. Мы видели numpy float в int и float в сложный массив. На сегодня все.

См. Также

Python isnan ()

Python isinf ()

Python isinstance ()

Оцените статью
nanomode.ru
Добавить комментарий