Временные ряды с матрицей - PullRequest
0 голосов
/ 31 октября 2018

У меня есть данные расширения мата, которые я хочу разделять каждые секунды. Моя матрица - это (7,5,2500) трехмерная матрица временного ряда, которая хочет получить значения (7,5,1) ...(7,5,2500) отдельно и сохранить ее

например

array([155,  33, 129,167,189,63,35
       161, 218,   6,58,36,25,3

       89,63,36,25,78,95,21
       78,52,36,56,25,15,68
       ]],

       [215, 142, 235,
        143, 249, 164],

       [221,  71, 229,
         56,  91, 120],

       [236,   4, 177,
        171, 105,  40])

для получения каждой части этих данных, например, этой матрицы

  [215, 142, 235,
  143, 249, 164]  

что мне делать?

Ответы [ 2 ]

0 голосов
/ 31 октября 2018

Если у вас есть данные, сохраненные в массиве numpy, вы можете использовать нарезку для извлечения необходимых вам подматриц. Вот пример с матрицей (3,5,3) (но пример может быть применен к любому измерению):

A = numpy.array([[[1,1,1],
                  [2,2,2],
                  [3,3,3],
                  [4,4,4],
                  [5,5,5]],

                  [[11,11,11],
                  [21,21,21],
                  [31,31,31],
                  [41,41,41],
                  [51,51,51]],

                  [[12,12,12],
                  [22,22,22],
                  [32,32,32],
                  [42,42,42],
                  [52,52,52]]]
sub_matrix_1 = A[:,:,0]
print (sub_matrix_1)

Будет производить:

[[ 1  2  3  4  5]
 [11 21 31 41 51]
 [12 22 32 42 52]]

РЕДАКТИРОВАТЬ: также можно перебрать массив, чтобы получить массив 3-го измерения:

for i in range(A.shape[-1]):
    print (A[:,:,i])
    # Your submatrix is A[:,:,i], you can directly manipulate it
0 голосов
/ 31 октября 2018
a = [[155,  33, 129, 161, 218,   6],
     [215, 142, 235, 143, 249, 164],
     [221,  71, 229,  56,  91, 120],
     [236,   4, 177, 171, 105,  40]]

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