Получить массив данных на основе фортрана в порядке numpy массив - PullRequest
0 голосов
/ 10 апреля 2020

Таким образом, я понимаю, что "упорядочение по фортрану" массива numpy означает, что он хранится в главном столбце, но на самом деле не влияет на то, что представляют данные. То, что я ищу, - это способ взять массив основных столбцов numpy и вернуть одномерный массив, который хранится в том же порядке, что и внутреннее представление основных столбцов numpy.

Например, скажем, у меня есть такой массив, но он хранится в основном формате столбца.

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

Так как это основной столбец, шаги достигают (8, 16)

Я хотел бы получить способ получения плоского основного столбца, например:

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

1 Ответ

1 голос
/ 11 апреля 2020

Использование .flatten с аргументом F.

a = np.array([[1, 2, 3],
              [4, 5, 6]])

a.flatten('C') #row major
>>> [1, 2, 3, 4, 5, 6]

a.flatten('F') #column major
>>> [1, 4, 2, 5, 3, 6]

Транспонирование, а затем выравнивание - это еще один хакерский способ сделать это.

a.T.reshape(-1)
>>> [1, 4, 2, 5, 3, 6]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...