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

使用pandas_datareader的get_data_yahoo获取部分股票代码数据时报错

解决pandas_datareader获取FRE.DE数据时的KeyError问题

问题根源

你碰到的KeyError: 'Date',本质是pandas_datareader的YahooDailyReader模块跟不上Yahoo Finance API的格式更新。哪怕Yahoo网页上能看到FRE.DE的历史数据,但旧库的解析逻辑无法适配当前Yahoo返回的响应结构,尤其是对欧洲这类非美股市场的股票代码,这类兼容性问题会更突出。

靠谱的解决方案

别死磕pandas_datareader的Yahoo接口了,改用yfinance库吧——这是社区专门维护的、适配Yahoo Finance的工具,兼容性和稳定性都好太多。

第一步:安装yfinance

打开终端执行以下命令:

pip install yfinance

第二步:替换代码获取数据

把你的代码改成下面这样,就能正常拿到FRE.DE的历史数据了:

import pandas as pd
import yfinance as yf
%matplotlib inline

# 获取FRE.DE指定时间段的行情数据
df = yf.download('FRE.DE', start='2018-10-1', end='2018-11-30')
df.head()

返回的数据格式和你之前用pandas_datareader拿到的完全一致,后续的分析、可视化操作都不用调整。

补充说明

pandas_datareader的Yahoo接口已经停止维护很久了,Yahoo Finance的API结构经历了多次更新,旧库的解析逻辑早就跟不上节奏,非美股股票更容易触发这类解析错误。而yfinance会实时跟进Yahoo的API变化,能有效避开这类坑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.13 08:09:16