【发布时间】:2019-04-16 20:53:33
【问题描述】:
这是我的问题的一个最小示例,我有一个如下所示的 numpy 数组列表:
a = np.zeros([4,3])
b = np.ones([5,3])
my_list = [a, b]
my_list
[array([[0., 0., 0.],
[0., 0., 0.],
[0., 0., 0.],
[0., 0., 0.]]), array([[1., 1., 1.],
[1., 1., 1.],
[1., 1., 1.],
[1., 1., 1.],
[1., 1., 1.]])]
列表中的数组可以在一个(并且只有一个)维度(这里是 4 或 5)中具有可变长度。
我最终想要的是一个尺寸为(2,“可变大小”,3)的numpy数组。输出应如下所示:
array([[[0., 0., 0.],
[0., 0., 0.],
[0., 0., 0.],
[0., 0., 0.]],
[[1., 1., 1.],
[1., 1., 1.],
[1., 1., 1.],
[1., 1., 1.],
[1., 1., 1.]]])
np.vstack() 或 np.concatenate() 不会返回我正在寻找的形状,因为它们正在生成具有 (9, 3) 形状的输出。
【问题讨论】:
-
以上是不可能的,因为这里
result[0]的shape 与result[1]不同。 Numpy 通常使用“矩形”数据。 -
向我们展示您认为所需答案可行的原因。例如,来自 numpy 文档的内容。
-
我在问这是否可行,或者我怎样才能达到同等的结果,并不意味着我已经收集到任何证据表明它确实可行,事实上我没有
-
Numpy 目前不支持,我相信也没有计划支持锯齿状数组。