【发布时间】:2021-06-07 21:16:04
【问题描述】:
如何将数组列表中每个数组的相同索引中的元素堆叠起来?
arrays = [np.array([1,2,3,4,5]),
np.array([6,7,8,9]),
np.array([11,22,33,44,55]),
np.array([2,4])]
output = [[1,6,11,2],
[2,7,22,4],
[3,8,33],
[4,9,44],
[5,55]]
arrays 是长度不均匀的数组的列表。 output 有一个第一个数组(不介意它是否也是一个列表),其中包含每个数组中所有可能的索引 0。 output 中的下一个数组包含所有可能的索引 1,依此类推...
我能找到的最接近的东西(但需要相同的形状数组)是:
a = np.array([1, 2, 3])
b = np.array([2, 3, 4])
np.stack((a, b), axis=-1)
# which gives
array([[1, 2],
[2, 3],
[3, 4]])
谢谢。
【问题讨论】:
-
通常组合不规则形状的数组表明 numpy 不是正确的工具。这是干什么用的?