Измените 2D массив в 3D массив вдоль строк - PullRequest
0 голосов
/ 30 апреля 2019

У меня есть двумерный массив из 3n строк и m столбцов.Как мне преобразовать его в трехмерный массив с n строками, m столбцами и 3 срезами по 3-му измерению.

2D to 3D transformation rowise

1 Ответ

0 голосов
/ 01 мая 2019

Хорошо, вот единственное решение. Я уверен, что есть и другие способы сделать это.

import numpy as np
#Generate 24 element 1D array and reshape to 6 rows and 4 columns
a_Array = np.arange(24).reshape(6, 4)
#reshape to distribute data along axis 2 then axis 1 and then axis 0 in order, 
#this is what numpy reshape does by default
a_Array.reshape(2,3,4)
#Swap axes 1 and 2
a_Array.reshape(2,3,4).swapaxes(1,2)
#Transpose to arrange data with data distributed along axis 1
a_Array.reshape(2,3,4).swapaxes(1,2).T

enter image description here

Транспонирование Визуализация

Ссылка 1 помогла понять массивы в нескольких измерениях в целом. Ссылка 2 использовалась для генерации изображения, прикрепленного в виде картинки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...