我有一个列表(Y),其中包含不同长度的 numpy 数组。该列表包含 50 多个元素(我只拿了 5 个进行测试)。列表的形状是 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]
我如何添加/总结这些元素?
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)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句