Хотя astype
, вероятно, является "лучшим" вариантом, есть несколько других способов преобразовать его в целочисленный массив. Я использую это arr
в следующих примерах:
>>> import numpy as np
>>> arr = np.array([1,2,3,4], dtype=float)
>>> arr
array([ 1., 2., 3., 4.])
Функции int*
от NumPy
>>> np.int64(arr)
array([1, 2, 3, 4])
>>> np.int_(arr)
array([1, 2, 3, 4])
NumPy *array
функционирует самостоятельно:
>>> np.array(arr, dtype=int)
array([1, 2, 3, 4])
>>> np.asarray(arr, dtype=int)
array([1, 2, 3, 4])
>>> np.asanyarray(arr, dtype=int)
array([1, 2, 3, 4])
Метод astype
(который уже упоминался, но для полноты картины):
>>> arr.astype(int)
array([1, 2, 3, 4])
Обратите внимание, что передача int
в качестве dtype в astype
или array
по умолчанию будет целочисленным типом по умолчанию, который зависит от вашей платформы. Например, в Windows это будет int32
, в 64-битной Linux с 64-битным Python - int64
. Если вам нужен определенный целочисленный тип и вы хотите избежать "неоднозначности" платформы, вы должны использовать соответствующие типы NumPy, такие как np.int32
или np.int64
.