我有一个python函数,可以将yahoo财务数据存储到数据框中。
from pandas.io.data import DataReader
bars= DataReader(symbol, "yahoo",hist_date, today)
我将结果返回到条形码如下
DataFrame:
Open High Low Close Volume Adj Close\nDate
\n2011-01-12 2.00 2.00 2.00 2.00 100 1.891661
\n2011-01-13 2.00 2.00 1.92 2.00 6800 1.891661
\n2011-01-14 1.84 2.24 1.84 2.19 1500 2.071369
\n2011-01-18 2.25 2.25 2.02 2.02 4300 1.910578
\n2011-01-19 2.07 2.12 2.07 2.12 3400 2.005161
\n2011-01-20 2.21 2.21 2.10 2.17 5000 2.052452
\n2011-01-21 2.25 2.25 2.20 2.20 600 2.080827
\n2011-01-24 2.20 2.20 2.12 2.18 2300 2.061911
现在我想将date coloumn作为数据帧的索引字段。当我尝试在表中显示数据帧时,我无法在任何地方显示日期字段。是因为在coloumn标题和coloumn数据之前有一个\ n。
答案 0 :(得分:1)
首先,让我从雅虎检索谷歌5天的历史数据:
<path id="my.path">
<multirootfileset refid="original.fileset" />
</path>
<contrib:pathtofileset name="new.fileset" pathrefid="my.path" dir="${basedir}" />
显示了6列数据:OHLC,Volume和Adjusted Close,以及一列名为from pandas.io.data import DataReader
import datetime as dt
today = dt.datetime.today().strftime('%Y-%m-%d')
hist = (dt.datetime.today()-dt.timedelta(7)).strftime('%Y-%m-%d')
df = DataReader('GOOG', 'yahoo', hist, today)
df
Open High Low Close Volume Adj Close
Date
2016-01-05 746.450012 752.000000 738.640015 742.580017 1947700 742.580017
2016-01-06 730.000000 747.179993 728.919983 743.619995 1938600 743.619995
2016-01-07 730.309998 738.500000 719.059998 726.390015 2944300 726.390015
2016-01-08 731.450012 733.229980 713.000000 714.469971 2442600 714.469971
要确定数据框确实按日期编制索引,您甚至可以尝试:
Date
这个简短的练习是否解决了您的问题?
PS
调整后的列名和df.index
DatetimeIndex(['2016-01-05', '2016-01-06', '2016-01-07', '2016-01-08'], dtype='datetime64[ns]', name='Date', freq=None)
的排序对我来说显得很奇怪......