pandas-datareader

一行代码抓取全球金融数据,直接生成 DataFrame

pandas-datareader 是一个 Python 库,用于从多种互联网数据源获取金融和经济数据,并将其直接转换为 pandas DataFrame 格式。它解决了金融数据分析中数据获取的痛点,提供了统一的 API 接口,让用户无需分别学习各个数据源的访问方式。核心能力包括:支持多个数据源(如 FRED、Fama-French、World Bank、Stooq 等),提供简单一致的函数调用,自动处理数据格式化和日期索引,并与 pandas 生态无缝集成。用户可以通过几行代码轻松获取股票价格、宏观经济指标、利率等数据,用于量化研究、经济分析和教学演示。该项目是 pandas 官方生态的一部分,适合需要快速获取结构化金融数据的 Python 用户。

开源 free 数据集
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 3272
维护状态 维护中
是否开源 是
定价模式 free

项目数据

分类数据集
开发团队pydata
所属国家
定价模式free
价格说明开源库,完全免费,无付费版本。
访问状态
是否开源是
开源协议NOASSERTION
主要语言Python
技术栈/模型data,data-analysis,dataset,econdb,economic-data,fama-french,finance,financial-data,fred,html,pandas,pydata,python,stock-data
GitHub 星标★ 3272
30天Star增速
HF 下载量
上线时间2015-01-15 00:00:00
最近更新2026-09-22 00:00:00
维护状态维护中
中文支持
访问方式
移动端支持
综合评分
收录时间2026-08-10
浏览次数6

使用教程

难度:入门 约 10 分钟 部署方式:库/依赖 4 步

环境要求

  • 已安装 Python 及 pip 环境
  • pandas>=1.5.3
  • lxml
  • requests>=2.19.0
  • Python 3.12 及以上需额外安装 setuptools(提供 distutils)

安装与启动步骤

  1. 1安装库

    使用 pip 从 PyPI 安装 pandas-datareader,它会自动处理依赖。建议在虚拟环境中执行,避免污染全局环境。

    pip install pandas-datareader
  2. 2验证并取数据

    导入库并调用 README 给出的示例 get_data_fred('GS10'),返回 pandas DataFrame 即表示安装成功。该步骤需要联网。

    python -c "import pandas_datareader as pdr; print(pdr.get_data_fred('GS10').head())"
  3. 3装最新开发版

    想用 master 分支最新改动时,可直接用 pip 从 GitHub 仓库安装开发版,无需手动克隆。

    python -m pip install git+https://github.com/pydata/pandas-datareader.git
  4. 4源码克隆安装

    需要阅读或修改源码时,先克隆仓库,进入目录后用可编辑模式安装,改动即时生效。

    git clone https://github.com/pydata/pandas-datareader.git
    cd pandas-datareader
    python -m pip install -e .

如何确认成功

执行 python -c "import pandas_datareader as pdr; print(pdr.get_data_fred('GS10').head())",能打印出含日期与数值的 DataFrame 即成功。

常见问题

Q:Python 3.12 及以上安装或导入时报 distutils 缺失怎么办?

A:README 指出 distutils 已不在 Python 3.12 及以上的标准库中,安装 setuptools 即可解决,例如执行 pip install setuptools。

Q:如何安装最新的开发版而不是发布版?

A:用 python -m pip install git+https://github.com/pydata/pandas-datareader.git,或克隆仓库后在目录内执行 python -m pip install -e .。

Q:能获取哪些数据源的数据?

A:README 说明公开 API 面向宏观、政策与因子类数据源,包括 FRED、Fama/French、Bank of Canada、World Bank、OECD、Eurostat 以及新的 pandas_datareader.macro 接口。

Q:安装后如何查看详细用法?

A:README 提供了稳定版文档 https://pydata.github.io/pandas-datareader/ 与 readthedocs 副本,开发文档在 /devel/ 路径下。

注意事项

  • README 给出的调用示例需要联网访问远程数据源。
  • 文档构建额外需要 matplotlib、ipython、requests_cache、sphinx、pydata_sphinx_theme,普通使用无需安装。
  • 开发与测试额外依赖 black、coverage、flake8、pytest 等,仅贡献代码时需要。

核心亮点

  • 统一接口访问多个数据源,代码简洁,无需分别学习各源 API
  • 与 pandas 深度集成,返回的 DataFrame 可直接用于分析
  • 支持 FRED、Fama-French、World Bank 等权威经济数据源

不足之处

  • 部分数据源(如 Yahoo)因接口变动导致不稳定,需依赖第三方替代
  • 文档和社区维护活跃度一般,新数据源支持速度较慢

适用场景

  • 量化策略回测中获取历史股价和基本面数据
  • 宏观经济研究中拉取 FRED 或世界银行指标
  • 教学演示中快速加载金融数据集进行 pandas 练习

替代项目

yfinance、akshare、quandl

项目介绍

pandas-datareader 是数据集领域的开源项目,由 pydata 开发,2015 年首次发布。

在全站 13,090 个收录项目中,它的 GitHub 星标数(3,272)位列前 30%,在数据集分类的 279 个项目里位列前 11%。

近 42 天,它的 GitHub 星标从 3,229 增加到 3,272,净增 43。

项目仍在小幅维护中,最近一次代码更新于 2026-09-22。开源库,完全免费,无付费版本。

它主要面向的使用场景是:量化策略回测中获取历史股价和基本面数据。同类可对比的替代方案包括 yfinance、akshare、quandl。

上一篇:datasets

下一篇:color-names

同类项目推荐

X-AnyLabeling 开源

一站式AI辅助标注,图像视频文本通吃,导出格式随心配

X-AnyLabeling: A lightweight, efficient, and unified cross-platform desktop applicat···

★ 10528 2026-08-10
aisheets 开源

像用表格一样批量调 AI,不写代码就能造和改数据集

Build, enrich, and transform datasets using AI models with no code

★ 1645 2026-09-20
distilabel 开源

基于论文的合成数据流水线,快速生成高质量 AI 反馈数据。

Distilabel is a framework for synthetic data and AI feedback for engineers who need ···

★ 3398 2026-08-10
DataGen 开源

用大模型一键生成定制化训练数据,告别数据荒

[ICLR'25] DataGen: Unified Synthetic Dataset Generation via Large Language Models

★ 69 2026-08-09