当前,我有一个张量ytrue
,其中ytrue.shape
等于(4650, 30, 161)
。
我每隔5秒钟就会在纽约证券交易所(NYSE)上午9:00至下午4: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
获取每个元素的数组?
答案 0 :(得分:2)
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])
HTH。