首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Pandas雅虎财经DataReader

Pandas雅虎财经DataReader
EN

Stack Overflow用户
提问于 2014-04-10 22:52:00
回答 8查看 59.1K关注 0票数 17

我试图让调整接近价格从雅虎财经到一个DataFrame。我有我想要的所有股票,但我不能按日期排序。

代码语言:javascript
复制
stocks = ['ORCL', 'TSLA', 'IBM','YELP', 'MSFT']
ls_key = 'Adj Close'
start = datetime(2014,1,1)
end = datetime(2014,3,28)    
f = web.DataReader(stocks, 'yahoo',start,end)


cleanData = f.ix[ls_key]
dataFrame = pd.DataFrame(cleanData)

print dataFrame[:5]

我得到了以下结果,这几乎是完美的。

代码语言:javascript
复制
              IBM   MSFT   ORCL    TSLA   YELP
Date                                           
2014-01-02  184.52  36.88  37.61  150.10  67.92
2014-01-03  185.62  36.64  37.51  149.56  67.66
2014-01-06  184.99  35.86  37.36  147.00  71.72
2014-01-07  188.68  36.14  37.74  149.36  72.66
2014-01-08  186.95  35.49  37.61  151.28  78.42

但是,日期不是一个项目。所以当我运行的时候:

代码语言:javascript
复制
print dataFrame['Date']

我得到了错误:

代码语言:javascript
复制
KeyError: u'no item named Date'

希望有人能帮我添加日期。

EN

回答 8

Stack Overflow用户

发布于 2016-06-26 05:34:19

代码语言:javascript
复制
import pandas_datareader.data as web
import datetime    

start = datetime.datetime(2013, 1, 1)
end = datetime.datetime(2016, 1, 27)
df = web.DataReader("GOOGL", 'yahoo', start, end)

dates =[]
for x in range(len(df)):
    newdate = str(df.index[x])
    newdate = newdate[0:10]
    dates.append(newdate)

df['dates'] = dates

print df.head()
print df.tail()
票数 10
EN

Stack Overflow用户

发布于 2016-08-10 01:49:16

日期在索引值中。

要将其放入列值中,只需使用:

代码语言:javascript
复制
dataframe.reset_index(inplace=True,drop=False)

然后你就可以使用

代码语言:javascript
复制
dataframe['Date'] 

因为"Date“现在将成为dataframe列中的关键字之一。

票数 7
EN

Stack Overflow用户

发布于 2014-08-18 22:25:52

使用dataFrame["Date"] = dataframe.index可使用dataFrame.index直接访问日期或添加显式列

代码语言:javascript
复制
stocks = ['ORCL', 'TSLA', 'IBM','YELP', 'MSFT']
ls_key = 'Adj Close'
start = datetime(2014,1,1)
end = datetime(2014,3,28)    
f = web.DataReader(stocks, 'yahoo',start,end)


cleanData = f.ix[ls_key]
dataFrame = pd.DataFrame(cleanData)
dataFrame["Date"] = dataframe.index
print dataFrame["Date"] ## or print dataFrame.index
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22991567

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档