【发布时间】:2015-08-30 21:40:57
【问题描述】:
这是来自 O'Reilly 书籍 Python for Data Analysis 的一段代码(练习)。
from pandas import Series, DataFrame
import pandas.io.data as web
all_data = {}
for ticker in ['AAPL', 'IBM', 'MSFT', 'GOOG']:
all_data[ticker] = web.get_data_yahoo(ticker)
price = DataFrame({k: v['Adj Close'] for k,v in all_data.items()})
奇怪的是,当我查看生成的 DataFrame 时,Google 的内容总是NaN:
我知道代码不是您所说的最佳代码,但这些是书本练习,我正在尝试通过实验从中学习。
如果我只获取与 Google 相关的数据并从中制作 DataFrame,则会出现实际数字:
DataFrame(all_data['GOOG']['Adj Close']).head()
但是当我尝试对所有股票代码做同样的事情时,它又出错了:
DataFrame([all_data['GOOG']['Adj Close'],
all_data['AAPL']['Adj Close'],
all_data['IBM']['Adj Close'],
all_data['MSFT']['Adj Close']],
index=['GOOG', 'AAPL', 'IBM', 'MSFT']).T.head()
任何有关可能导致此问题的原因的见解将不胜感激!
版本信息:
- Python 3.4.2
- 熊猫 (0.16.2)
- numpy (1.9.2)
【问题讨论】:
标签: python pandas python-3.4