我有一个numpy数组是一个3d数组。它应该是形状(1000,100,3),但它在第一维的形状是(1000,)并且每个条目在里面,形状是(100,3)。我怎样才能重塑它,以便我有(1000,100,3)原始阵列?
答案 0 :(得分:2)
stack
axis=0
上的数组应该提供您需要的结果:
np.stack(a, axis=0)
实施例:
>>> import numpy as np
>>> a = np.empty(3, dtype=object)
>>> a[0] = np.array([[1], [2]])
>>> a[1] = np.array([[3], [4]])
>>> a[2] = np.array([[5], [6]])
>>> a
array([array([[1],
[2]]), array([[3],
[4]]),
array([[5],
[6]])], dtype=object)
>>> a.shape
(3,)
>>> a[0].shape
(2, 1)
>>> np.stack(a, axis=0)
array([[[1],
[2]],
[[3],
[4]],
[[5],
[6]]])
>>> np.stack(a, axis=0).shape
(3, 2, 1)