安装#
安装 pandas 最简单的方法是将其作为 Anaconda 发行版的一部分进行安装,这是一个用于数据分析和科学计算的跨平台发行版。Conda 包管理器是大多数用户推荐的安装方法。
还提供了从 源代码、PyPI 或 开发版本 安装的说明。
Python 版本支持#
官方支持 Python 3.9、3.10、3.11 和 3.12。
安装 pandas#
使用 Anaconda 安装#
对于 Python 新手,安装 Python、pandas 以及组成 PyData 技术栈(SciPy、NumPy、Matplotlib 及更多)最简单的方法是使用 Anaconda,这是一个用于数据分析和科学计算的跨平台(Linux、macOS、Windows)Python 发行版。Anaconda 的安装说明可以在这里找到。
使用 Miniconda 安装#
对于有 Python 使用经验的用户,推荐使用 Miniconda 安装 pandas。Miniconda 允许您创建比 Anaconda 更小、自包含的 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 安装#
可以通过 pip 从 PyPI 安装 pandas。
pip install pandas
注意
您必须安装 pip>=19.3 才能从 PyPI 安装。
注意
建议从虚拟环境安装和运行 pandas,例如使用 Python 标准库的 venv
pandas 也可以安装带有可选依赖项的集合,以启用某些功能。例如,安装 pandas 时可以包含读取 Excel 文件的可选依赖项。
pip install "pandas[excel]"
可以安装的完整额外功能列表可以在依赖项部分找到。
处理 ImportError#
如果您遇到 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.9/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.22.4
python-dateutil
2.8.2
pytz
2020.1
tzdata
2022.7
可选依赖项#
pandas 有许多可选依赖项,它们仅用于特定的方法。例如,pandas.read_hdf() 需要 pytables 包,而 DataFrame.to_markdown() 需要 tabulate 包。如果未安装可选依赖项,则在调用需要该依赖项的方法时,pandas 将引发 ImportError。
如果使用 pip,可以将可选的 pandas 依赖项作为可选附加项(例如 pandas[performance, aws])安装或在文件中(例如 requirements.txt 或 pyproject.toml)进行管理。所有可选依赖项都可以通过 pandas[all] 进行安装,特定的依赖项集合列在以下部分中。
性能依赖项(推荐)#
注意
强烈建议您安装这些库,因为它们能提供速度改进,尤其是在处理大型数据集时。
可通过 pip install "pandas[performance]" 安装
依赖项
最低版本
pip extra
备注
numexpr
2.8.4
performance
通过使用多核以及智能分块和缓存来加速某些数值运算,从而实现大幅提速
bottleneck
1.3.6
performance
通过使用专门的 Cython 例程加速某些类型的 nan,从而实现大幅提速。
numba
0.56.4
performance
对于接受 engine="numba" 的操作,使用一个 JIT 编译器,该编译器通过 LLVM 编译器将 Python 函数转换为优化的机器代码,从而提供另一种执行引擎。
可视化#
可通过 pip install "pandas[plot, output-formatting]" 安装。
依赖项
最低版本
pip extra
备注
matplotlib
3.6.3
plot
绘图库
Jinja2
3.1.2
output-formatting
使用 DataFrame.style 进行条件格式化
tabulate
0.9.0
output-formatting
以 Markdown 友好格式打印(参见 tabulate)
计算#
可通过 pip install "pandas[computation]" 安装。
依赖项
最低版本
pip extra
备注
SciPy
1.10.0
computation
各种统计函数
xarray
2022.12.0
computation
用于 N 维数据的类似 pandas 的 API
Excel 文件#
可通过 pip install "pandas[excel]" 安装。
依赖项
最低版本
pip extra
备注
xlrd
2.0.1
excel
读取 Excel
xlsxwriter
3.0.5
excel
写入 Excel
openpyxl
3.1.0
excel
读取/写入 xlsx 文件
pyxlsb
1.0.10
excel
读取 xlsb 文件
python-calamine
0.1.7
excel
读取 xls/xlsx/xlsb/ods 文件
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(),需要以下库组合之一:
BeautifulSoup4 和 html5lib
BeautifulSoup4 和 lxml
BeautifulSoup4 和 html5lib 和 lxml
只有 lxml,但请参阅HTML 表格解析注意事项了解为何您可能不应采用此方法的原因。
警告
如果您安装 BeautifulSoup4,则必须安装 lxml 或 html5lib,或两者都安装。read_html() 将在仅安装 BeautifulSoup4 时不起作用。
强烈建议您阅读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-other
除 sqlite 外其他数据库的 SQL 支持
psycopg2
2.9.6
postgresql
用于 SQLAlchemy 的 PostgreSQL 引擎
pymysql
1.0.2
mysql
用于 SQLAlchemy 的 MySQL 引擎
adbc-driver-postgresql
0.8.0
postgresql
用于 PostgreSQL 的 ADBC 驱动程序
adbc-driver-sqlite
0.8.0
sql-other
用于 SQLite 的 ADBC 驱动程序
其他数据源#
可通过 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
2022.12.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。read_orc() 如果 pyarrow 是从 pypi 安装的,可能会失败,并且 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 访问
pandas-gbq
0.19.0
gcp
Google Big Query 访问
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 工具 xclip 或 xsel 中的一个。
压缩#
可通过 pip install "pandas[compression]" 安装
依赖项
最低版本
pip extra
备注
Zstandard
0.19.0
compression
Zstandard 压缩
联盟标准#
可通过 pip install "pandas[consortium-standard]" 安装
依赖项
最低版本
pip extra
备注
dataframe-api-compat
0.1.7
consortium-standard
基于 pandas 的联盟标准兼容实现