Получение ценового массива - PullRequest
0 голосов
/ 20 ноября 2018

В текущий момент у меня есть тензор ytrue с ytrue.shape, равным (4650, 30, 161).

Я получаю информацию каждые 5 секунд на NYSE по конкретным акциям с 9:00 до 16:30.Итак, у меня есть 4650 слоев в тензоре, которые представляют каждые 5 секунд в течение этого периода.Каждый слой имеет размерность (30, 161).30 представляет количество шагов, которые я смотрю в прошлом, а 161 представляет, сколько объектов (160 объектов + цена в качестве цели).

Я пытался изменить его, чтобы получить текущую цену с

X = ytrue[:, :, -1]

, но я получил

ipdb> X                                                                                                                                     
array([[262.655, 262.605, 261.99 , ..., 263.615, 263.75 , 263.75 ],
       [262.605, 261.99 , 261.99 , ..., 263.75 , 263.75 , 263.71 ],
       [261.99 , 261.99 , 262.015, ..., 263.75 , 263.71 , 263.63 ],
       ...,
       [253.065, 253.03 , 252.93 , ..., 253.115, 253.18 , 253.27 ],
       [253.03 , 252.93 , 253.1  , ..., 253.18 , 253.27 , 253.345],
       [252.93 , 253.1  , 253.145, ..., 253.27 , 253.345, 253.35 ]])

Мне нужно взять последний элемент каждого подмассива для созданиямассив цен, например

[262.655, 262.605, 261.99 , ..., 263.615, 263.75 , 263.75 ] --> 263.75

Как получить массив каждого из этих элементов из ytrue?

1 Ответ

0 голосов
/ 20 ноября 2018

Используйте Необычное индексирование .

X[:, -1] должно помочь.

Меньший пример, который вы можете легко заметить:

In [4]: x = np.arange(25).reshape(5, 5)

In [5]: x
Out[5]:
array([[ 0,  1,  2,  3,  4],
       [ 5,  6,  7,  8,  9],
       [10, 11, 12, 13, 14],
       [15, 16, 17, 18, 19],
       [20, 21, 22, 23, 24]])

In [6]: x[:, -1]
Out[6]: array([ 4,  9, 14, 19, 24])

НТН.

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