具有形状差异的嵌套numpy数组

时间:2018-03-21 03:03:45

标签: python numpy

我有一个numpy数组是一个3d数组。它应该是形状(1000,100,3),但它在第一维的形状是(1000,)并且每个条目在里面,形状是(100,3)。我怎样才能重塑它,以便我有(1000,100,3)原始阵列?

1 个答案:

答案 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)