如何在numpy.empty数组中存储int值?

时间:2013-11-25 19:39:01

标签: python arrays numpy

如下面的代码所示,empty数组用浮点数替换我的int值。我该如何防止这种情况?

import numpy as np
a=np.empty(3)
a[0]=1
a[1]=2
a[2]=3
print a

输出:

[1., 2., 3.]

2 个答案:

答案 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