Преобразование массива 2D numpy в массив 3D numpy с 3-м измерением

У меня есть массив numpy 2D-формы

a=np.array([[1,2,3,4,5,6],
            [7,8,9,10,11,12],
            [13,14,15,16,17,18]])

и пытаюсь преобразовать в 3D-форму измерения (3,3,2) т.е.

np.array([[ 1,2,3],
          [7,8,9],
          [13,14,15]])

в 3-м измерении с индексом 1 и

np.array([[4,5,6],
          [10,11,12],
          [16,17,18]])

в 3-м измерении с индексом 2.

Я пытался изменить форму как a.reshape(3,3,2) и получил это

array([[[ 1,  2,  3],
        [ 4,  5,  6]],

       [[ 7,  8,  9],
        [10, 11, 12]],

       [[13, 14, 15],
        [16, 17, 18]]])

Любые предложения, чтобы преобразовать это?

Структурированный массив Numpy
Структурированный массив Numpy
Однако в реальных проектах я чаще всего имею дело со списками, состоящими из нескольких типов данных. Как мы можем использовать массивы numpy, чтобы...
1
0
25
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Используйте swapaxes:

a.reshape(3,2,3).swapaxes(0,1)

выход:

array([[[ 1,  2,  3],
        [ 7,  8,  9],
        [13, 14, 15]],

       [[ 4,  5,  6],
        [10, 11, 12],
        [16, 17, 18]]])

Другие вопросы по теме