我有一个股票代码列表(186),对于每个股票代码,我需要获取价格...我正在使用循环进行此操作,对于每个股票代码,我想要一个编号从 0 到 186 的新 df 。信息:len(tickers_list)=186for i in range(len(tickers_list)-180): try: data = pdr.get_data_yahoo(tickers_list[i], start=df['Date'][i], end="2020-08-30")['Adj Close'] df_new[i]=pd.DataFrame(data) except: print('Fail') continue我只是失败了。如果我删除,但错误消息是“df_new”未定义
1 回答
慕桂英3389331
TA贡献2036条经验 获得超8个赞
假设get_data_yahoo返回 aDataFrame并且您仅选择'Adj Close'列,您可以收集字典中的所有系列,然后将它们连接到数据框中。
data = dict()
for i, (ticker, start_date) in enumerate(zip(tickers_list[:6], df.Date)): # a simpler way to iterate
data[ticker] = pdr.get_data_yahoo(ticker, start=start_date,
end='2020-08-30')['Adj Close']
data = pd.concat(data.values(), keys=data.keys(), axis=1)
添加回答
举报
0/150
提交
取消