我正在尝试创建一个空的numpy数组,然后将新创建的数组插入到一个以上的数组中。对我来说,重要的是不要对第一个numpy数组进行格式化,它必须是空的,然后我可以将不同大小的新numpy数组添加到该数组中。如下所示:
A = numpy.array([])
B = numpy.array([1,2,3])
C = numpy.array([5,6])
A.append(B, axis=0)
A.append(C, axis=0)我想让A看起来像这样
[[1,2,3],[5,6]]当我执行追加命令时,会得到以下错误:
AttributeError: 'numpy.ndarray' object has no attribute 'append'知道该怎么做吗?
PS:这与之前提出的问题不同,因为我并不试图连接两个numpy数组。我试图将一个numpy数组插入到另一个空的numpy数组中。我知道如何使用列表来完成这个任务,但是它必须是numpy数组。
谢谢
发布于 2015-06-09 22:23:06
对于numpy数组,您不能这样做,因为真正的2D numpy是矩形的。例如,np.arange(6).reshape(2,3)返回array([[0, 1, 2],[3, 4, 5]])。如果您真的想这样做,请尝试创建array([array([1,2,3]),array([5,6])]),它创建了array([array([1, 2, 3]), array([5, 6])], dtype=object),但是您将使用错误对齐的数据来释放所有的numpy电源。
发布于 2015-06-09 21:55:12
可以通过将数组转换为列表来做到这一点:
In [21]: a = list(A)
In [22]: a.append(list(B))
In [24]: a.append(list(C))
In [25]: a
Out[25]: [[1, 2, 3], [5, 6]]我的直觉是,有一个更好的解决方案(要么更多的pythonic或更多的numpythonic)比这,这可能是从一个更完整的描述你的问题。
发布于 2015-06-09 21:55:10
取自here。也许先找出现存的问题。
numpy.append(M, a)https://stackoverflow.com/questions/30743447
复制相似问题