组合不同维度的numpy子数组

Combine numpy subarrays of varying dimensions

我有一个嵌套的 numpy 数组 (dtype=object),它包含 333 个数组,大小从 52x1 一直增加到 52x333

我想有效地提取和连接这些数组,以便我有一个 52x55611 数组

我想这可能很简单,但我使用 numpy.reshape 的尝试并不成功

如果我没理解错的话,你可以使用numpy.concatenate.

>>> import numpy as np
>>> a = np.array([range(52)])
>>> b = np.array([range(52,104), range(104, 156)])
>>> np.concatenate((a,b))
array([[  0,   1,   2,   3,   4,   5,   6,   7,   8,   9,  10,  11,  12,
         13,  14,  15,  16,  17,  18,  19,  20,  21,  22,  23,  24,  25,
         26,  27,  28,  29,  30,  31,  32,  33,  34,  35,  36,  37,  38,
         39,  40,  41,  42,  43,  44,  45,  46,  47,  48,  49,  50,  51],
       [ 52,  53,  54,  55,  56,  57,  58,  59,  60,  61,  62,  63,  64,
         65,  66,  67,  68,  69,  70,  71,  72,  73,  74,  75,  76,  77,
         78,  79,  80,  81,  82,  83,  84,  85,  86,  87,  88,  89,  90,
         91,  92,  93,  94,  95,  96,  97,  98,  99, 100, 101, 102, 103],
       [104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
        117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129,
        130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142,
        143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155]])
>>> 

如果你想沿着第二个轴堆叠它们,你可以使用numpy.hstack

 list_of_arrays = [ array_1, ..., array_n] #all these arrays have same shape[0]
 big_array = np.hstack( list_of_arrays)