我有一个列表(Y),其中包含不同长度的numpy数组。列表包含50多个元素(我刚刚拿了五个用于测试)。列表的形状是5,我可以打印每个元素的形状如下所示,输出在评论中
print(Y.shape) #(5,)
print(Y[0].shape) #(600, 2)
print(Y[1].shape) #(250, 2)
print(Y[2].shape) #(300, 2)
print(Y[3].shape) #(200, 2)
print(Y[4].shape) #(100, 2)
列表中的每个元素都有不同的长度(600,250,300,200,100),但都有[1 0]或[0 1]维度。我想添加这些元素并获得输出
(1450,2)
我试过了
Y = np.sum(Y,轴= 0)
它给出了广播错误,ValueError:操作数不能与形状(600,2)(250,2)一起广播,我知道这需要(600,2)(600,2)或(250,2) (250,2)但我想添加600和250。
同样的功能适用于像[80,20,30]和[40,20,30]这样的三维数组我输出为[120,20,30]
如何添加/总结这些元素?
答案 0 :(得分:1)
np.concatenate(Y, axis=0)
例如:
import numpy as np
Y1 = np.ones((100, 2))
Y2 = np.ones((200, 2))
Y3 = np.ones((300, 2))
np.concatenate([Y1, Y2, Y3], axis=0).shape # (600, 2)