我正在尝试用整数填充数组,但似乎numpy数组不断将整数转换为浮点数。为什么会发生这种情况,我该如何阻止呢?
arr = np.empty(9)
arr[3] = 7
print(arr[3])
>>>7.0
答案 0 :(得分:6)
NumPy数组与Python列表不同,只能包含一个类型(据我所知)是在创建时设置的。您放入数组中的所有内容都会转换为该类型。
默认情况下,数据类型假定为float
。要设置其他类型,您可以像这样将dtype
传递给empty
函数:
>>> arr = np.empty(9, dtype=int)
>>> arr[3] = 7
>>> arr[3]
7