追加numpy数组

时间:2019-02-24 13:23:19

标签: python numpy

我有一个for循环,在其中创建了numpy数组a。我想要一个将数组a附加到每个循环的结果numpy数组。因此,结果数组的最终结构应为[a,a,a,etc ...],这样我就可以进入新数组[len(a),Len(a)等。)

我不知道该怎么做。我已经尝试过np.append,却无法弄清楚该怎么做(我很困惑axis参数的作用)。我是numpy的新手,所以我们感谢您的帮助。我不想展平数组-我希望它的行为就像将python列表追加到python列表一样。

很抱歉,格式化-我现在正在打电话。

1 个答案:

答案 0 :(得分:1)

最简单(也是最快)的方法是将数组收集到列表中,然后使用np.concatenate将它们连接在一起。

示例测试数据

import numpy as np

a = np.random.rand(4,5)
b = np.random.rand(4,5)
c = np.random.rand(4,5)
d = np.random.rand(4,5)

lst = [a,b,c,d]

您可以沿任一轴连接-默认情况下沿0轴连接。

>>> result = np.concatenate(lst)
>>> result.shape
(16, 5)

...沿第一轴。

>>> result = np.concatenate(lst, axis=1)
>>> result.shape
(4, 20)

这些数组需要在 other 轴上匹配,即,如果垂直连接它们,它们的宽度必须相同。