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

使用pandas_datareader获取TSLA股票数据时触发TypeError错误求助

解决pandas_datareader获取Yahoo股票数据的TypeError问题

问题根源

你遇到的TypeError: maybe_convert_dtype() got an unexpected keyword argument 'tz'是pandas与pandas_datareader版本不兼容导致的。新版pandas(2.x及以上)移除了maybe_convert_dtype函数的tz参数,但旧版pandas_datareader仍在调用该参数,引发参数冲突。

解决方法

方法1:升级pandas_datareader到最新版

新版pandas_datareader已适配pandas 2.x的API,执行以下命令升级:

pip install --upgrade pandas_datareader

升级后重新运行原代码即可。

方法2:降级pandas到兼容版本

若升级pandas_datareader后仍有问题,可将pandas降级到1.5.x系列(该版本保留了tz参数):

pip install pandas==1.5.3

方法3:改用yfinance库(推荐)

由于Yahoo官方API变更,pandas_datareader的Yahoo数据源稳定性较差,更推荐使用专门的yfinance库替代,以下是完整替代代码:

import pandas as pd
import yfinance as yf
import matplotlib.pyplot as plt

start_date = "2020-01-01"
end_date = "2020-12-31"

# 获取TSLA股票数据
data = yf.download("TSLA", start=start_date, end=end_date)
print(data)

# 绘制收盘价走势图
close = data['Close']
ax = close.plot(title='Tesla 2020年收盘价走势')
ax.set_xlabel('日期')
ax.set_ylabel('收盘价')
ax.grid()
plt.show()

使用前需先安装yfinance:

pip install yfinance

内容的提问来源于stack exchange,提问作者Brajesh Kumar Sethi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 11:35:20