Python - pd.DataFrame返回NaN值

时间:2018-04-06 02:41:04

标签: python pandas dataframe web-scraping fetch

我正在尝试从morningstar获取三个股票代码的价格并将它们放入数据框中,但pd.DataFrame一直给我NaN值。

all_data = {}

for ticker in ['AAL', 'ALK','WTI']:
     all_data[ticker] = data.DataReader(ticker, 'morningstar', '2014-06-01','2016-06-13')

enter image description here

price = pd.DataFrame({ticker: data['Close'] for ticker, data in all_data.items()})
print(price.head(5))

enter image description here

理想情况下,我希望pd.DataFrame返回四列数据框(日期,股票代码1的收盘价,股票代码2的收盘价和股票代码3的收盘价),但它仍然保留第二和第三的NaN值自动收报机。

我想知道如何修复代码以获得预期的结果?

非常感谢!

1 个答案:

答案 0 :(得分:0)

我认为dict值是数据帧,基于你的图像,所以当你做data['Close']时它将保留其索引,不同的索引concat将返回NaN以进行未匹配

all_data = {}

for ticker in ['AAL', 'ALK','WTI']:
     all_data[ticker] = data.DataReader(ticker, 'morningstar', '2014-06-01','2016-06-13')

price = pd.DataFrame({ticker: data['Close'].values for ticker, data in all_data.items()})