安装#
安装 pandas 最简单的方法是将其作为 Anaconda 发行版的一部分进行安装,Anaconda 是一个用于数据分析和科学计算的跨平台发行版。对于大多数用户来说,Conda 包管理器是推荐的安装方法。
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。与 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 安装#
pandas 可以通过 PyPI 上的 pip 安装。
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.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 需要以下依赖项。
软件包 |
最低支持版本 |
---|---|
1.22.4 |
|
2.8.2 |
|
2020.1 |
|
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[performance]"
安装。
依赖项 |
最低版本 |
pip extra |
备注 |
---|---|---|---|
2.8.4 |
performance |
通过使用多个核心以及智能分块和缓存来加速某些数值运算,从而实现大幅提速。 |
|
1.3.6 |
performance |
通过使用专门的 Cython 例程来加速某些类型的 |
|
0.56.4 |
performance |
对于接受 |
可视化#
可以使用 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,您必须安装 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 |
PostgreSQL 引擎,用于 sqlalchemy |
pymysql |
1.0.2 |
mysql |
MySQL 引擎,用于 sqlalchemy |
adbc-driver-postgresql |
0.8.0 |
postgresql |
ADBC 驱动程序,用于 PostgreSQL |
adbc-driver-sqlite |
0.8.0 |
sql-other |
ADBC 驱动程序,用于 SQLite |
其他数据源#
可以使用 pip install "pandas[hdf5, parquet, feather, spss, excel]"
安装
依赖项 |
最低版本 |
pip extra |
备注 |
---|---|---|---|
PyTables |
3.8.0 |
hdf5 |
基于 HDF5 的读写 |
blosc |
1.21.3 |
hdf5 |
HDF5 的压缩;仅在 |
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 的联盟标准兼容实现 |