为什么numpy数组将int转换为float

时间:2018-07-31 07:21:38

标签: python numpy numpy-dtype

我正在尝试用整数填充数组,但似乎numpy数组不断将整数转换为浮点数。为什么会发生这种情况,我该如何阻止呢?

arr = np.empty(9)
arr[3] = 7
print(arr[3])
>>>7.0

1 个答案:

答案 0 :(得分:6)

NumPy数组与Python列表不同,只能包含一个类型(据我所知)是在创建时设置的。您放入数组中的所有内容都会转换为该类型。

默认情况下,数据类型假定为float。要设置其他类型,您可以像这样将dtype传递给empty函数:

>>> arr = np.empty(9, dtype=int)
>>> arr[3] = 7
>>> arr[3]
7