如下面的代码所示,empty
数组用浮点数替换我的int值。我该如何防止这种情况?
import numpy as np
a=np.empty(3)
a[0]=1
a[1]=2
a[2]=3
print a
输出:
[1., 2., 3.]
答案 0 :(得分:10)
致电np.empty
时指定dtype:
a = np.empty(3, dtype='int')
如果未指定dtype,则默认为float。这是np.empty
的呼叫签名:
empty(shape, dtype=float, order='C')
答案 1 :(得分:5)
使用dtype=int
:
>>> a = np.empty(3, dtype=np.int)
>>> a[0]=1
>>> a[1]=2
>>> a[2]=3
>>> a
array([1, 2, 3])
由于dtype
的{{1}}默认值为float
,因此您指定的值会转换为numpy.empty
。
float