4 回答

TA贡献1884条经验 获得超4个赞
试试这个方法:
默认情况下,numpy 数组为 。因此,将其更改为dtypefloatnp.int32
a = np.zeros(5,dtype=np.int32)
a += 1
b = np.array([],dtype=np.int32)

TA贡献1815条经验 获得超13个赞
您愿意拥有与输入相同的数组的点是什么?
使用numpy.ones来减少计算而不是numpy.zeros
`
import numpy
a = numpy.ones(5,dtype=int)
b = []
b = numpy.array([],dtype=int)
d = concatenate((a, b))
`

TA贡献1797条经验 获得超4个赞
您可以创建为 0 大小的 dtype 而不是列表,即:bnp.array'i'
import numpy as np
a = np.zeros(5,'i')
a += 1
b = np.array([],'i')
c = np.hstack((a,b))
d = np.concatenate((a, b))
print(d)
输出:
[1 1 1 1 1]

TA贡献1898条经验 获得超8个赞
我认为numpy假设空数组为数据类型。如果运行以下命令float64
np.array([]).dtype
它返回,所以你应该初始化空数组,如下所示dtype('float64')
b=[]
b=np.array(b,dtype="int32")
添加回答
举报