Список массивов numpy в один массив numpy - PullRequest
1 голос
/ 01 мая 2020

Скажем, у меня есть N numpy массивов, каждый из которых имеет размер (x, y, z), где y и z одинаковы для всех, но x отличается для каждого. Как бы я объединил их в numpy массив размера (w, y, z), где w - сумма всех x.

Или, для числового примера: у меня есть список 3 numpy массив с размерами (14, 32, 32), (7, 32, 32), (50, 32, 32). Как эффективно превратить их в массив numpy размера (71, 32, 32)?

Ответы [ 2 ]

3 голосов
/ 01 мая 2020

Вы можете просто объединить их вдоль первой оси. Если ваши массивы 3 numpy имеют имена x1, x2 и x3, ваш новый массив будет определен как x_combined = np.concatenate((x1,x2,x3),axis=0)

2 голосов
/ 01 мая 2020

Попробуйте np.vstack

a, b , c = np.ones((14, 32, 32)), np.ones((7, 32, 32)), np.ones((50, 32, 32))

out = np.vstack([a,b,c])

In [119]: a.shape
Out[119]: (14, 32, 32)

In [120]: b.shape
Out[120]: (7, 32, 32)

In [121]: c.shape
Out[121]: (50, 32, 32)

In [122]: out.shape
Out[122]: (71, 32, 32)
...