安装#

安装 pandas 最简单的方法是作为 Anaconda 发行版的一部分进行安装,这是一个用于数据分析和科学计算的跨平台发行版。Conda 包管理器是大多数用户推荐的安装方法。

安装 从源代码PyPI开发版本 的说明也提供了。

Python 版本支持#

请参阅 Python 支持政策

安装 pandas#

使用 Anaconda 安装#

对于刚接触 Python 的用户来说,安装 Python、pandas 以及构成 PyData 堆栈的包(SciPyNumPyMatplotlib以及更多)最简单的方法是使用 Anaconda,这是一个跨平台(Linux、macOS、Windows)的 Python 发行版,用于数据分析和科学计算。Anaconda 的安装说明 可以在这里找到

使用 Miniconda 安装#

对于有Python经验的用户,推荐使用 Miniconda 来安装pandas。与Anaconda相比,Miniconda允许你创建一个最小化的、自包含的Python安装,并使用 Conda 包管理器来安装额外的包和为你的安装创建一个虚拟环境。Miniconda的安装说明 可以在这里找到

下一步是创建一个新的 conda 环境。conda 环境类似于 virtualenv,允许你指定特定版本的 Python 和一组库。从终端窗口运行以下命令。

conda create -c conda-forge -n name_of_my_env python pandas

这将创建一个仅安装了Python和pandas的最小环境。要进入此环境,请运行。

source activate name_of_my_env
# On Windows
activate name_of_my_env

从 PyPI 安装#

可以通过 PyPI 从 pip 安装 pandas。

pip install pandas

备注

你必须有 pip>=19.3 才能从 PyPI 安装。

备注

建议从虚拟环境中安装和运行 pandas,例如,使用 Python 标准库的 venv

pandas 也可以通过安装一组可选依赖项来启用某些功能。例如,安装 pandas 并带有读取 Excel 文件的可选依赖项。

pip install "pandas[excel]"

可以安装的额外列表可以在 依赖部分. 找到。

处理 ImportErrors#

如果你遇到 ImportError ,这通常意味着 Python 在可用库列表中找不到 pandas。Python 内部有一个它搜索的目录列表,以找到包。你可以通过以下方式获取这些目录。

import sys
sys.path

一种可能遇到此错误的情况是,如果你的系统上安装了多个 Python 版本,而你当前使用的 Python 版本中没有安装 pandas。在 Linux/Mac 上,你可以在终端中运行 which python,它会告诉你当前使用的是哪个 Python 版本。如果显示的是类似 “/usr/bin/python”,则表示你使用的是系统自带的 Python,这并不推荐。

强烈推荐使用 conda ,以便快速安装和更新包及其依赖项。您可以在此文档中找到 pandas 的简单安装说明 在此文档中

从源代码安装#

请参阅 贡献指南 以获取从 git 源树构建的完整说明。此外,如果您希望创建一个 pandas 开发环境,请参阅 创建开发环境

安装 pandas 的开发版本#

安装开发版本是最快的途径:

  • 尝试将在下一个版本中发布的新功能(即,最近合并到主分支的拉取请求中的功能)。

  • 检查您遇到的一个错误是否在最后一次发布后已被修复。

开发版本通常每天都会上传到 anaconda.org 的 PyPI 注册表中的 scientific-python-nightly-wheels 索引。你可以通过运行以下命令来安装它。

pip install --pre --extra-index https://pypi.anaconda.org/scientific-python-nightly-wheels/simple pandas

请注意,您可能需要卸载现有的 pandas 版本才能安装开发版本。

pip uninstall pandas -y

运行测试套件#

pandas 配备了一套详尽的单元测试。运行这些测试所需的包可以通过 pip install "pandas[test]" 安装。要从 Python 终端运行测试。

>>> import pandas as pd
>>> pd.test()
running: pytest -m "not slow and not network and not db" /home/user/anaconda3/lib/python3.10/site-packages/pandas

============================= test session starts ==============================
platform linux -- Python 3.9.7, pytest-6.2.5, py-1.11.0, pluggy-1.0.0
rootdir: /home/user
plugins: dash-1.19.0, anyio-3.5.0, hypothesis-6.29.3
collected 154975 items / 4 skipped / 154971 selected
........................................................................ [  0%]
........................................................................ [ 99%]
.......................................                                  [100%]

==================================== ERRORS ====================================

=================================== FAILURES ===================================

=============================== warnings summary ===============================

=========================== short test summary info ============================

= 1 failed, 146194 passed, 7402 skipped, 1367 xfailed, 5 xpassed, 197 warnings, 10 errors in 1090.16s (0:18:10) =

备注

这只是一个显示信息的示例。测试失败不一定表明 pandas 安装损坏。

依赖项#

必需的依赖项#

pandas 需要以下依赖项。

最低支持版本

NumPy

1.23.5

python-dateutil

2.8.2

tzdata

2022.7

可选依赖项#

pandas 有许多可选依赖项,这些依赖项仅用于特定的方法。例如,pandas.read_hdf() 需要 pytables 包,而 DataFrame.to_markdown() 需要 tabulate 包。如果未安装可选依赖项,当调用需要该依赖项的方法时,pandas 将引发 ImportError

如果使用 pip,可选的 pandas 依赖可以在一个文件中安装或管理(例如 requirements.txt 或 pyproject.toml)作为可选的额外项(例如 pandas[performance, aws])。所有可选依赖可以通过 pandas[all] 安装,特定依赖集在下面的章节中列出。

可视化#

可通过 pip install "pandas[plot, output-formatting]" 安装。

依赖

最低版本

pip extra

备注

matplotlib

3.6.3

plot

绘图库

Jinja2

3.1.2

输出格式化

使用 DataFrame.style 的条件格式化

tabulate

0.9.0

输出格式化

以Markdown友好的格式打印(见 tabulate

计算#

可通过 pip install "pandas[computation]" 安装。

依赖

最低版本

pip extra

备注

SciPy

1.10.0

计算

其他统计函数

xarray

2022.12.0

计算

用于N维数据的类pandas API

Excel 文件#

可通过 pip install "pandas[excel]" 安装。

依赖

最低版本

pip extra

备注

xlrd

2.0.1

excel

读取 xls 文件

xlsxwriter

3.0.5

excel

编写 xlsx 文件

openpyxl

3.1.0

excel

读取/写入 Excel 2010 xlsx/xlsm/xltx/xltm 文件

pyxlsb

1.0.10

excel

读取 xlsb 文件

python-calamine

0.1.7

excel

读取 xls/xlsx/xlsm/xlsb/xla/xlam/ods 文件

odfpy

1.4.1

excel

读取 / 写入 OpenDocument 1.2 文件

HTML#

可通过 pip install "pandas[html]" 安装。

依赖

最低版本

pip extra

备注

BeautifulSoup4

4.11.2

html

用于 read_html 的 HTML 解析器

html5lib

1.1

html

用于 read_html 的 HTML 解析器

lxml

4.9.2

html

用于 read_html 的 HTML 解析器

以下库的组合之一是使用顶级 read_html() 函数所必需的:

警告

XML#

可通过 pip install "pandas[xml]" 安装。

依赖

最低版本

pip extra

备注

lxml

4.9.2

xml

用于 read_xml 的 XML 解析器和用于 to_xml 的树构建器

SQL 数据库#

传统的驱动程序可以通过 pip install "pandas[postgresql, mysql, sql-other]" 安装

依赖

最低版本

pip extra

备注

SQLAlchemy

2.0.0

postgresql, mysql, sql-其他

除 sqlite 之外的数据库的 SQL 支持

psycopg2

2.9.6

postgresql

sqlalchemy 的 PostgreSQL 引擎

pymysql

1.0.2

mysql

MySQL 引擎用于 sqlalchemy

adbc-driver-postgresql

0.10.0

postgresql

ADBC 驱动程序用于 PostgreSQL

adbc-driver-sqlite

0.8.0

sql-其他

ADBC 驱动程序 for SQLite

其他数据源#

可通过 pip install "pandas[hdf5, parquet, feather, spss, excel]" 安装

依赖

最低版本

pip extra

备注

PyTables

3.8.0

hdf5

基于HDF5的读写

blosc

1.21.3

hdf5

HDF5 的压缩;仅在 conda 上可用

zlib

hdf5

HDF5 的压缩

fastparquet

2023.10.0

Parquet 读取 / 写入(pyarrow 是默认的)

pyarrow

10.0.1

parquet, feather

Parquet、ORC 和 feather 的读写

pyreadstat

1.2.0

spss

SPSS 文件 (.sav) 读取

odfpy

1.4.1

excel

开放文档格式(.odf, .ods, .odt)读取/写入

警告

  • 如果你想使用 read_orc() ,强烈建议使用 conda 安装 pyarrow。如果从 pypi 安装 pyarrow,read_orc() 可能会失败,并且 read_orc() 与 Windows 操作系统不兼容。

访问云中的数据#

可通过 pip install "pandas[fss, aws, gcp]" 安装

依赖

最低版本

pip extra

备注

fsspec

2022.11.0

fss, gcp, aws

处理除了简单的本地和HTTP文件(s3fs, gcsfs的必需依赖)。

gcsfs

2022.11.0

gcp

Google Cloud Storage 访问

s3fs

2022.11.0

aws

Amazon S3 访问

剪贴板#

可通过 pip install "pandas[clipboard]" 安装。

依赖

最低版本

pip extra

备注

PyQt4/PyQt5

5.15.9

clipboard

剪贴板 I/O

qtpy

2.3.0

clipboard

剪贴板 I/O

备注

根据操作系统,可能需要安装系统级包。为了在 Linux 上操作剪贴板,必须在系统上安装其中一个 CLI 工具 xclipxsel

压缩#

可通过 pip install "pandas[compression]" 安装

依赖

最低版本

pip extra

备注

Zstandard

0.19.0

compression

Zstandard 压缩

时区#

可通过 pip install "pandas[timezone]" 安装

依赖

最低版本

pip extra

备注

pytz

2023.4

timezone

替代 zoneinfo 的时区库。