我有一个for循环,在其中创建了numpy数组a。我想要一个将数组a附加到每个循环的结果numpy数组。因此,结果数组的最终结构应为[a,a,a,etc ...],这样我就可以进入新数组[len(a),Len(a)等。)
我不知道该怎么做。我已经尝试过np.append,却无法弄清楚该怎么做(我很困惑axis参数的作用)。我是numpy的新手,所以我们感谢您的帮助。我不想展平数组-我希望它的行为就像将python列表追加到python列表一样。
很抱歉,格式化-我现在正在打电话。
答案 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 轴上匹配,即,如果垂直连接它们,它们的宽度必须相同。