如何克服DataReader Iterrows循环中丢失数据引起的错误?

时间:2019-05-27 20:15:29

标签: python-3.x pandas loops pandas-datareader

我正尝试使用熊猫DataReader从Yahoo Finance提取500支股票的历史股价。我已经在有限的情况下使用了该代码,但是由于某些原因,Yahoo Finance不支持某些股票报价器,因此我遇到了问题,因此我可以提取其数据。

“无数据”使我的代码停止工作。我想创建一个具有健壮的通用应用程序的代码,以便在数据可用时可以正常工作,如果没有,则只需填写“ NaN”。我敢肯定,这是直截了当的,但是我无法理解。

我尝试用ifelse条件解决问题,但是我尝试所做的一切都没有用,就是无法解决。

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。

1 个答案:

答案 0 :(得分:0)

使用.dropna().fillna()