我正在尝试从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')
price = pd.DataFrame({ticker: data['Close'] for ticker, data in all_data.items()})
print(price.head(5))
理想情况下,我希望pd.DataFrame返回四列数据框(日期,股票代码1的收盘价,股票代码2的收盘价和股票代码3的收盘价),但它仍然保留第二和第三的NaN值自动收报机。
我想知道如何修复代码以获得预期的结果?
非常感谢!
答案 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()})