首页 > 解决方案 > 如何重塑列表中的 numpy 数组并附加/扩展结果?

问题描述

我有一个具有每个数组形状(2、2)的数组列表。我想将它们按行“划分”,以便将每一行添加到 (1, 2) 的新列表中。

例子:

X = np.random.rand(2, 2)
Y = np.random.rand(2, 2)
li = [X, Y]
li
[array([[0.06959048, 0.14011019],
        [0.8171005 , 0.31335564]]),
 array([[0.94952885, 0.15987638],
        [0.8033848 , 0.56760287]])]

我想要这个结果:

new_li
[array([0.06959048, 0.14011019]),
 array([0.8171005 , 0.31335564]),
 array([0.94952885, 0.15987638]),
 array([0.8033848 , 0.56760287])]

我知道每个变量的扩展都会达到预期的效果,例如:

li.extend(X)
li.extend(Y)

但我有一个预先存在的清单。

标签: pythonnumpy

解决方案


使用以下内容:

new_li = []
new_li.extend(j for i in li for j in i)

这将拆分每一行,然后扩展所有行。


推荐阅读