Pandas_datareader金融数据程序包下载出现的各种后续问题

在尝试使用Pandas_datareader获取Google股票价格数据时遇到报错,问题根源在于Yahoo Finance数据源的库已更名。通过安装并使用yfinance库解决了这个问题。参考了两篇优快云博客文章成功完成数据导入。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

由于要分析Google的历史股票价格数据进行可视化,导入了Pandas_datareader程序包

pip install pandas_datareader

导入数据:

from pandas_datareader import data
goog=data.DataReader('GOOG',start='2004',end='2016',data_source='google')
print(goog.head())

报错,出现以下问题:

Traceback (most recent call last):
  File "E:/python数据/goole-finance.py", line 2, in <module>
    goog=data.DataReader('GOOG',start='2004',end='2016',data_source='google')
  File "D:\python3.6.5\lib\site-packages\pandas_datareader\data.py", line 316, in DataReader
    session=session).read()
  File "D:\python3.6.5\lib\site-packages\pandas_datareader\google\daily.py", line 36, in __init__
    raise ImmediateDeprecationError(DEP_ERROR_MSG.format('Google finance'))
pandas_datareader.exceptions.ImmediateDeprecationError: 
Google finance has been immediately deprecated due to large breaks in the API without the
introduction of a stable replacement. Pull Requests to re-enable the
### 解决 `pandas_datareader` 下载失败的方法 当尝试通过 `pandas_datareader.data.get_data_yahoo()` 获取 Yahoo 财经数据时,可能会遇到超时问题或其他异常情况。以下是几种可能的原因及其对应的解决方案。 #### 1. 网络连接不稳定或服务器响应缓慢 如果网络环境不佳或者目标服务器负载过高,则可能导致请求无法及时完成而触发超时错误。可以考虑增加超时时间参数来延长等待周期: ```python import pandas_datareader as pdr data = pdr.DataReader('AAPL', 'yahoo', start='2023-01-01', end='2023-12-31', timeout=60)[^1] ``` #### 2. 版本兼容性问题 有时不同版本之间的依赖关系不匹配也会引发各种奇怪的现象。对于提到的 "cannot import name 'is_list_like'" 错误消息,这通常是由于 Pandas 和其他库之间存在版本冲突所致。建议先升级所有相关软件包至最新稳定版后再试一次操作;若仍存在问题则可回退到特定的历史版本组合以确保正常工作[^2]。 为了修复此类导入错误,可以通过以下方式更新所需模块: ```bash pip install --upgrade pandas pandas-datareader ``` #### 3. 安装位置不当引起的语法解析失误 在 Windows 平台上直接于 Python Shell 或者 IDE 内部执行类似于 `pip install xxx` 的命令确实会造成语法上的误解。因此应当切换到系统的 CMD 终端窗口来进行外部工具链的操作,比如安装新的第三方扩展库等[^3]。 正确做法是在命令提示符下运行如下指令: ```bash cd C:\Path\To\PythonXX\Scripts\ pip install pandas ``` #### 4. 数据源变更带来的路径失效 随着服务提供商调整其 API 接口设计或是迁移域名地址等情况的发生,原有的 URL 可能不再适用。此时除了寻找官方文档确认最新的接入指南外,还可以借助第三方中间件如 yfinance 来间接实现相同目的[^5]。 例如采用 YFinance 库作为替代方案: ```python !pip install yfinance import yfinance as yf tickerData = yf.Ticker('AAPL') df = tickerData.history(period='1d', start='2023-01-01', end='2023-12-31') print(df) ``` #### 5. Conda 渠道资源不可达 针对 Anaconda 用户而言,在某些情况下默认配置下的 conda 镜像站可能出现故障从而阻碍了必要的组件获取过程。对此类情形的一个常见处理手段就是移除已损坏的数据帧对象并重新部署干净副本[^4]。 具体步骤为: ```bash pip uninstall pandas pip install pandas ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值