我写了一些简单的代码来遍历我正在分析的一组列表(从b1到b20)。对于这些列表,我想先检查其中哪些是空的。对于那些空的,我想添加值0。我想将0添加到空列表中,因为稍后我将合计来自不同列表的值,并且,据我所知,我无法将空列表相加。在
目前,我有以下代码:
for z in np.arange(1,21):
r=np.array([0])
rate = eval('b' + str(z))
print (z)
if len(rate)==0:
rate.concatenate(r)
print (rate)
else:
print (rate)
order_x20=b16+c16+d16+h16+i16
order_x2020=b17+c17+d17+h17+i17
order_x2050=b15+c15+d15+h15+i15
order_x20100=b2+c2+d2+h2+i2
order_x20300=b20+c20+d20+h20+i20
每次运行代码时,都会出现以下错误:
^{pr2}$有人能帮我解决这个问题吗?我真的不明白为什么会出现这个错误,但我想是因为我不能将np.append()
或{
这是一个函数,不是一个方法。它用
np.concatenate
调用。在第一个参数是数组(或类似数组)的元组(或更一般的序列)。如果用
np.concatenate(a1, a2)
调用,a2
将被解释为axis
参数,它必须是一个简单的数字!在不要使用
np.concatenate
(或np.append
),就好像它是列表append
的克隆一样。alist.append(r)
是一个方法调用,并就地操作。numpy
函数是functions
,并且不在适当的位置执行。它们返回一个新数组。当在循环中重复使用时,效率要低得多。在从你的描述来看,这听起来像是一个简单的列表理解问题:
^{pr2}$或写为for循环:
此列表可以转换为一个数组,其中包含一个(正确的)
^{4}$np.concatenate
调用:要连接两个numpy数组,您必须编写
rate = np.concatenate(rate,r,axis=0/1)
,这取决于您希望如何连接这两个数组。在相关问题 更多 >
编程相关推荐