【发布时间】:2019-10-13 09:07:03
【问题描述】:
我正在尝试使用 pandas DataReader 从 Yahoo Finance 提取 500 只股票的历史股价。我的代码可以在有限的情况下工作,但我遇到了一些股票代码问题,由于某种原因,雅虎财经不支持这些代码,因此我可以提取它们的数据。
“无数据”使我的代码停止工作。我想创建具有强大通用应用程序的代码,以便在数据可用时工作,如果没有,则只需填写“NaN”。我确信这是直截了当的,但我无法理解它。
我尝试使用if 和else 条件解决问题,但无论我尝试什么都行不通,只是想不通。
style.use('ggplot')
start = dt.datetime(2000,1,1)
end = dt.datetime(2019,5,26)
data = pd.DataFrame([])
for index, row in tickers.iterrows():
#if web.DataReader(row['ticker'] , 'yahoo').any():
df = web.DataReader(row['ticker'] , 'yahoo', start, end)
df['ticker'] = str(row['ticker'])
data = data.append(df)
#else:
# df = 'Nan'
#df['ticker'] = str(row['ticker'])
print(data.head())
我想为我已导入股票代码的给定股票代码列表创建所有历史股票价格的 DataFrame。
【问题讨论】:
标签: python-3.x pandas loops pandas-datareader