Numpy astype () — это функция приведения типов, которая может приводить к указанному типу. Если вы хотите преобразовать массив с плавающей запятой Numpy в int, вы можете использовать функцию astype (). Чтобы преобразовать один из них в int или один из других типов в numpy, используйте метод numpy astype ().
- Шаги по преобразованию Numpy float в массив int
- Шаг 1. Создайте массив numpy
- Вывод
- Шаг 2: Преобразуйте Numpy float в int с помощью numpy.astype ()
- Вывод
- Вывод
- Преобразовать Numpy f loat array в int с помощью функции np.int_ ()
- Вывод
- Numpy astype () с np.inf () и np.nan ()
- Вывод
- Преобразовать массив Numpy в комплексное число
- Вывод
- Заключение
- См. Также
Шаги по преобразованию Numpy float в массив int
- Шаг 1. Создайте массив numpy со значениями с плавающей запятой.
- Шаг 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 ()