Python 为什么numpy数组将int转换为float
我试图用整数填充数组,但似乎numpy数组一直在将整数转换为浮点数。为什么会发生这种情况?我如何阻止这种情况Python 为什么numpy数组将int转换为float,python,numpy,numpy-dtype,Python,Numpy,Numpy Dtype,我试图用整数填充数组,但似乎numpy数组一直在将整数转换为浮点数。为什么会发生这种情况?我如何阻止这种情况 arr = np.empty(9) arr[3] = 7 print(arr[3]) >>>7.0 与Python列表不同,NumPy数组只能包含一个类型(据我所知),它是在创建时设置的。放入数组的所有内容都将转换为该类型 默认情况下,数据类型假定为float。要设置另一种类型,可以将dtype传递给empty函数,如下所示: >>> arr = n
arr = np.empty(9)
arr[3] = 7
print(arr[3])
>>>7.0
与Python列表不同,NumPy数组只能包含一个类型(据我所知),它是在创建时设置的。放入数组的所有内容都将转换为该类型 默认情况下,数据类型假定为
float
。要设置另一种类型,可以将dtype
传递给empty
函数,如下所示:
>>> arr = np.empty(9, dtype=int)
>>> arr[3] = 7
>>> arr[3]
7
在分配
arr[3]
之前,您是否检查了arr
的数据类型?np.empty的默认数据类型为float:@AnkitJaiswal这不是,也从来不是关闭的适当原因。充其量,这是一个拒绝投票的理由,你可以这样做。谢谢,@user2285236,我必须在使用np.empty()时指定数据类型