Как изменить 3D-массив с различными размерами? - PullRequest
1 голос
/ 29 мая 2019

У меня есть массив NumPy как:

y = np.array([[[14,15,16],[24,25,26],[34,35,36],[44,45,46]],
        [[11,21,31],[12,22,32],[13,23,33],[14,24,34]]])

Форма у (2,4,3) и я хочу изменить его (4,3,2) как:

[[[14,11],[15,21],[16,31]],
 [[24,12],[25,22],[26,32]],
 [[34,13],[35,23],[36,33]],
 [[44,14],[45,24],[46,34]]]

Я пытался использовать y.reshape(4,3,2)), но результат не тот, который я хочу.

1 Ответ

1 голос
/ 29 мая 2019

Вы можете использовать numpy.moveaxis():

y = np.moveaxis(y,0,2)

и вы получите:

array([[[14, 11],
        [15, 21],
        [16, 31]],

       [[24, 12],
        [25, 22],
        [26, 32]],

       [[34, 13],
        [35, 23],
        [36, 33]],

       [[44, 14],
        [45, 24],
        [46, 34]]])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...