如何将时间序列数据转换为NN输入向量?

时间:2018-03-09 02:25:36

标签: python vector tensorflow time-series tflearn

例如,我有各种股票的csv时间序列数据,我想将数据转换为可馈送到神经网络的向量。

我不确定这是否具有任何相关性,但最终,我希望根据各种当前基本指标预测未来股票价格--TDebt,IntAssets,TAssets和EBITDA。然后,我比较PriceToday和Price + 1Yr。如果PriceDiff为正,则数据标记为正确,如果为负,则数据标记为不正确。

Date,Ticker,TDebt,IntAssets,TAssets,EBITDA,PriceToday,Price + 1Yr,PriceDiff,Label 1/1/10中,AAPL,6.73,3.05,41.16,11.06,179.26,219.26,22.31,正确 1/1/10中,GOOGL,3.19,12.54,24.08,2.63,1135.97,1115.97,-1.76,不正确的 1/1/10中,MSFT,4.32,15.74,35.84,7.43,90.1,94.1,4.44,正确 1/1/10中,AMZN,0.52,0.24,18.5,7.55,1293.32,1044.32,-19.25,不正确的 1/1/10中,FB,3.32,7.79,15.05,0.63,179.8,156.8,-12.79,不正确的 1/1/10中,BABA,13.61,18.02,122.56,25.31,184.4,205.4,11.39,正确 1/1/10中,JNJ,5.18,2.54,39.44,8.06,146.92,185.92,26.55,正确 1/1/10中,XOM,2.23,-2.17,94.32,14.52,87.43,48.43,-44.61,不正确的 1/1/11中,AAPL,7.27,3.35,42.9,12.04,219.26,230.26,5.02,正确 1/1/11中,GOOGL,4.01,12.8,24.87,2.34,1115.97,1135.97,1.79,正确 1/1/11中,MSFT,5.4,14.04,33.84,5.04,94.1,88.1,-6.38,不正确的 1/1/11中,AMZN,0.59,0.31,19.04,9.31,1044.32,1396.32,33.71,正确 1/1/11中,FB,2.8,9.08,16.04,0.74,156.8,151.8,-3.19,不正确的 1/1/11中,BABA,12.68,19.03,124.05,24.03,205.4,216.4,5.36,正确 1/1/11中,JNJ,6.01,2.7,37.04,10.02,185.92,174.92,-5.92,不正确的 1/1/11中,XOM,2.8,-2.9,93.1,13.23,48.43,78.43,61.95,正确 1/1/12中,AAPL,7.18,-4.88,67.78,26.03,230.26,209.26,-9.12,不正确的 1/1/12中,GOOGL,1.05,0.47,102.09,11.29,1135.97,1145.97,0.88,正确 1/1/12中,MSFT,6.45,-5.68,59.01,21.42,88.1,58.1,-34.05,不正确的 1/1/12中,AMZN,6.23,1.59,19.44,6.91,1396.32,1276.32,-8.59,不正确的 1/1/12中,FB,6.08,-1.15,53.7,13.43,151.8,156.8,3.29,正确 1/1/12中,BABA,10.89,12.57,194.62,20.91,216.4,204.4,-5.55,不正确的 1/1/12中,JNJ,5.88,5.48,78.08,12.8,174.92,184.92,5.72,正确 1/1/12中,XOM,14.57,0.92,121.11,13.76,78.43,66.43,-15.3,不正确的

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

正如@evamicur所解释的那样,您应该使用pandas库来转换您的日期。 我会做类似的事情,但你应该根据自己的需要进行编辑:

import pandas as pd

df = pd.read_csv('my.csv')

df['Date'] = pd.to_datetime(df['Date'])

df.set_index('Date', inplace=True)

注意,我也会将我的标签更改为0或1,而不是NN的“更正”和“不正确”。

df[' Label '] = df[' Label '].map({'Correct ': 1, 'Incorrect ': 0})

您还应该删除csv文件中的所有空格。 希望这有帮助。