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

pandas_datareader.wb属性错误求助:无pandas_datareader属性

解决AttributeError: module 'pandas_datareader.wb' has no attribute 'pandas_datareader'

嘿,这个问题我之前帮同事排查过,错得很典型!问题完全出在你读取股票数据的那一行代码上,咱们一步步来修正:

错误根源

你写的wb.pandas_datareader(ticker,'yahoo',start,end)是完全错误的调用方式:

  • wb是pandas_datareader里专门用来获取世界银行经济数据的模块,和你要的雅虎股票数据根本不相关
  • pandas_datareader本身并没有嵌套在wb模块里,所以才会抛出"属性不存在"的错误

修正后的完整代码

直接用data.DataReader来获取雅虎财经数据就可以了,同时我帮你优化了一些细节:

from pandas_datareader import data
import datetime
import talib
import numpy as np  # 行业习惯用np代替numpy
import matplotlib.pyplot as plt  # 确保图表能正常显示

start = datetime.datetime(2010, 1, 1)
end = datetime.datetime(2014, 3, 24)
ticker = "AAPL"

# 核心修正:用data.DataReader读取雅虎股票数据
f = data.DataReader(ticker, 'yahoo', start, end)

# TA-Lib支持直接传入pandas Series,不用转numpy数组
f['SMA_20'] = talib.SMA(f['Close'], 20)
f['SMA_50'] = talib.SMA(f['Close'], 50)

# 绘制并显示图表
f.plot(y=['Close', 'SMA_20', 'SMA_50'], title='AAPL Close & Moving Averages')
plt.show()

额外注意事项

  • 如果运行时碰到雅虎数据源报错,大概率是pandas_datareader的接口更新了,你可以升级到最新版本:pip install --upgrade pandas-datareader
  • TA-Lib如果是源码安装的,要确保已经正确编译,不然计算均线时可能会抛出其他错误

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 08:20:15