0

我正在尝试将一些 numpy 数组添加到单个数组中,我的代码如下所示:

m1=symarray('', 2)
for i in range(0,len(countersum)):
  if countersum[i]==1:
    m1.append(gmcounter[i])

这给出错误

AttributeError: 'numpy.ndarray' object has no attribute 'append'

我也尝试过将 append 更改为 vstack 但它给出了同样的错误

如果我将最后一行修改为 m1=gcounter[i] 它可以工作,但只选择 gcounter 满足条件的第一个元素,然后忽略所有内容。

有谁知道我该如何解决这个问题?

我已经看到线程Append a NumPy array to a NumPy array但我无法事先声明需要附加为 numpy 数组的内容。

非常感谢

4

1 回答 1

1

@Bakuriu 是正确的,您不能在不复制的情况下扩展 numpy 数组。但是,根据应用程序,您可以将 numpy 数组转换为列表并从那里操作它:

m1 = sympy.symarray('', 2)

m2 = list(m1)
x = sympy.symbols('x')
m2.append(x)

print m2

这给

>>> [_0, _1, x]
于 2013-05-14T15:18:22.840 回答