You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用pandas_datareader库?运行代码遇TypeError报错求助

解决pandas_datareader调用get_data_yahoo时报TypeError的问题
  • 问题根源:pandas_datareader原生的Yahoo Finance数据源接口已停止维护,直接调用pdr.get_data_yahoo()会返回字符串而非预期的DataFrame,后续操作因此触发"string indices must be integers"错误。

  • 解决步骤:

    1. 安装并升级yfinance库(Yahoo官方推荐的第三方数据获取库,兼容原接口逻辑):
      pip install yfinance --upgrade
      
    2. 调整代码适配新数据源:
      方式一:保留pandas_datareader调用习惯
      from pandas_datareader import data as pdr
      import yfinance as yf
      import datetime as dt
      
      # 覆盖pandas_datareader的Yahoo接口,改用yfinance实现
      yf.pdr_override()
      
      start_date = dt.datetime(2021, 1, 1)
      end_date = dt.datetime(2021, 12, 31)
      
      df = pdr.get_data_yahoo('AAPL', start=start_date, end=end_date)
      print(df.head())
      
      方式二:直接使用yfinance原生方法(更稳定)
      import yfinance as yf
      import datetime as dt
      
      start_date = dt.datetime(2021, 1, 1)
      end_date = dt.datetime(2021, 12, 31)
      
      df = yf.download('AAPL', start=start_date, end=end_date)
      print(df.head())
      
    3. 运行代码后,会正常返回包含AAPL股价数据的DataFrame,错误即可解决。

内容的提问来源于stack exchange,提问作者Harlei Akira

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 19:53:27