我尝试使用matplotlib.finance从雅虎金融下载一些数据。
from matplotlib.finance import quotes_historical_yahoo
from datetime import date
import pandas as pd
import numpy as np
%matplotlib inline
today=date.today()
start=(today.year-1,today.month,today.day)
quotes=quotes_historical_yahoo('AXP',start,today)
df=pd.DataFrame(quotes,columns=['Date','Open','High','Low','Close','Vol'])
df其结果就像
Date Open High Low Close Vol
0 735536 87.376999 87.524947 88.264678 86.992340 5069300
1 735537 88.708520 88.718378 89.359479 88.146325 6848600
2 735540 89.083316 89.606057 89.961129 88.984686 3707900我知道第一列应该是日期,但我不知道如何从它得到日期时间。如何处理本专栏,使其成为"2011-01-01"
发布于 2015-10-31 02:22:29
我自己解决,关键是date.fromordinal()+date.strftime(x,'%Y-%m-%d')
today=date.today()
start=(today.year-1,today.month,today.day)
quotes=quotes_historical_yahoo('AXP',start,today)
fields=['Date','Open','High','Low','Close','Vol']
list1=[]
for i in range(0,len(quotes)):
x=date.fromordinal(int(quotes[i][0]))
y=date.strftime(x,'%Y-%m-%d')
list1.append(y)
df = pd.DataFrame(quotes,index=list1,columns=fields)
df=df.drop(['date'],axis=1)https://stackoverflow.com/questions/33447130
复制相似问题