Обработка многомерных массивов в Numpy - PullRequest
0 голосов
/ 01 апреля 2019

У меня есть координаты в группах.Вся группа должна храниться как отдельная.Сначала я сохранял их список в списке в списке следующим образом:

PointOne: numpy.array([x, y, z])
GroupOne: numpy.array([PointOne, PointTwo ... PointLast])

All Points : [GroupOne, GroupTwo, GroupThree]

Я чувствую, что мой подход немного ошибочен, и NumPy имеет возможность хранить их все как разделенные.Я мог бы установить столбец в качестве номера группы, но это глупо.

Во всем, я хочу хранить свои координаты, такие как NetCDF, HDF5 и т. Д. Вы знаете, что существуют размерные (они называют переменные), такие как распространение, температура и т. Д. ИтакВы можете хранить свои значения в температурной переменной (измерении) как в 3D, так и в 4D массивах.Но они отделены друг от друга, поэтому пользователь может получить к ним доступ, например:

readed_netcdf.temperate[5,2]

Как я могу сделать это в мире клочков?

Кстати, я хочу, чтобы это было сделано так, как описано в лучших методахи в будущем я буду использовать numba для расчета всего с большой производительностью.

numpy версия: 1.16.2

1 Ответ

0 голосов
/ 01 апреля 2019

Согласно документации , вы можете создать N-мерные массивы следующим образом:

import numpy as np

arr = np.ndarray(shape = (5,3)) # 5 Rows by 3 columns

Ниже следует описанная форма:

[[,,],
 [,,],
 [,,],
 [,*,],
 [,,]]

Если вы хотите получить доступ к элементу, где я поставил звездочку (символ '*'), вы должны сделать это следующим образом:

arr[3,1] #Access the 4th row, 2nd column

Затем к этим элементам можно получить доступ посредством индексации или нарезки массива. В приведенном выше случае 5 строк можно использовать как 5 точек (каждая с 3 измерениями). Дайте мне знать, если это ответит на ваш вопрос. Я буду рад предоставить больше примеров кода, если это необходимо.

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