【发布时间】:2017-12-10 14:54:50
【问题描述】:
我注意到combining 2D arrays to 3D arrays 到np.stack、np.dstack 的解决方案,或者只是传递数组列表仅在数组具有相同的.shape[0] 时才有效。
例如,假设我有:
print(arr)
[[0 1]
[2 3]
[4 5]
[6 7]
[8 9]]
很容易到达:
print(np.array([arr[2:4], arr[3:5]])) # same shape
[[[4 5]
[6 7]]
[[6 7]
[8 9]]]
但是,如果我传递一个长度不等的数组列表,我会得到:
print(np.array([arr[:2], arr[:3]]))
[array([[0, 1],
[2, 3]])
array([[0, 1],
[2, 3],
[4, 5]])]
我怎样才能简单:
[[[0, 1]
[2, 3]]
[[0, 1]
[2, 3]
[4, 5]]]
我尝试过的:其他一些Array manipulation routines。
注意:最终希望对超过 2 个数组执行此操作,因此 np.append 可能并不理想。
【问题讨论】:
-
您到底期待什么?列表数组?清单清单? regular 数组是不可能的,因为形状不相等。
标签: python python-3.x numpy