安装#
安装 pandas 最简单的方法是将其作为Anaconda发行版的一部分进行安装,Anaconda 发行版是一个用于数据分析和科学计算的跨平台发行版。Conda包管理器是大多数用户推荐的安装方法。
Python版本支持#
正式版本为 Python 3.9、3.10、3.11 和 3.12。
安装熊猫#
使用 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]"
可以在依赖项部分找到可以安装的附加组件的完整列表。
处理导入错误#
如果遇到ImportError
,通常意味着 Python 在可用库列表中找不到 pandas。 Python 内部有一个目录列表,它通过搜索来查找包。您可以通过以下方式获取这些目录。
import sys
sys.path
可能遇到此错误的一种情况是,如果您的系统上安装了多个 Python,并且当前使用的 Python 安装中没有安装 pandas。在 Linux/Mac 中,你可以在终端上运行,它会告诉你正在使用哪个 Python 安装。如果它类似于“/usr/bin/python”,则说明您正在使用系统中的Python,不建议这样做。which 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 配备了一套详尽的单元测试。运行测试所需的软件包可以通过.从 Python 终端运行测试。pip install "pandas[test]"
>>> 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]"
依赖性 |
最低版本 |
额外点 |
笔记 |
---|---|---|---|
2.8.4 |
表现 |
通过使用多核以及智能分块和缓存来加速某些数值运算,以实现大幅加速 |
|
1.3.6 |
表现 |
|
|
0.56.4 |
表现 |
用于接受使用 JIT 编译器的操作的替代执行引擎, |
可视化#
可通过.pip install "pandas[plot, output-formatting]"
依赖性 |
最低版本 |
额外点 |
笔记 |
---|---|---|---|
绘图库 |
3.6.3 |
阴谋 |
绘图库 |
金贾2 |
3.1.2 |
输出格式化 |
使用 DataFrame.style 进行条件格式化 |
制表 |
0.9.0 |
输出格式化 |
以 Markdown 友好的格式打印(参见表格) |
计算#
可通过.pip install "pandas[computation]"
依赖性 |
最低版本 |
额外点 |
笔记 |
---|---|---|---|
科学Py |
1.10.0 |
计算 |
杂项统计功能 |
阵列 |
2022.12.0 |
计算 |
用于 N 维数据的类似 pandas 的 API |
Excel 文件#
可通过.pip install "pandas[excel]"
依赖性 |
最低版本 |
额外点 |
笔记 |
---|---|---|---|
xlrd |
2.0.1 |
卓越 |
阅读Excel |
XLSX作家 |
3.0.5 |
卓越 |
编写Excel |
开放式pyxl |
3.1.0 |
卓越 |
读取/写入 xlsx 文件 |
pyxlsb |
1.0.10 |
卓越 |
读取 xlsb 文件 |
Python-炉甘石 |
0.1.7 |
卓越 |
读取 xls/xlsx/xlsb/ods 文件 |
HTML #
可通过.pip install "pandas[html]"
依赖性 |
最低版本 |
额外点 |
笔记 |
---|---|---|---|
美丽汤4 |
4.11.2 |
html |
read_html 的 HTML 解析器 |
html5库 |
1.1 |
html |
read_html 的 HTML 解析器 |
lxml |
4.9.2 |
html |
read_html 的 HTML 解析器 |
使用顶级read_html()
函数需要以下库组合之一:
只有lxml,尽管请参阅HTML Table Parsing 了解为什么您可能不应该采用这种方法。
警告
如果您安装BeautifulSoup4,则必须安装 lxml或html5lib或两者都安装。 仅安装BeautifulSoup4时
read_html()
无法使用。强烈建议您阅读HTML 表解析陷阱。它解释了有关上述三个库的安装和使用的问题。
XML #
可通过.pip install "pandas[xml]"
依赖性 |
最低版本 |
额外点 |
笔记 |
---|---|---|---|
lxml |
4.9.2 |
XML |
read_xml 的 XML 解析器和 to_xml 的树构建器 |
SQL 数据库#
传统驱动程序可通过以下方式安装pip install "pandas[postgresql, mysql, sql-other]"
依赖性 |
最低版本 |
额外点 |
笔记 |
---|---|---|---|
SQL炼金术 |
2.0.0 |
postgresql、mysql、sql-其他 |
SQL 支持除 sqlite 之外的数据库 |
心理咨询师2 |
2.9.6 |
PostgreSQL |
sqlalchemy 的 PostgreSQL 引擎 |
pymysql |
1.0.2 |
mysql |
sqlalchemy 的 MySQL 引擎 |
adbc-驱动程序-postgresql |
0.8.0 |
PostgreSQL |
PostgreSQL 的 ADBC 驱动程序 |
adbc-驱动程序-sqlite |
0.8.0 |
sql-其他 |
SQLite 的 ADBC 驱动程序 |
其他数据源#
可安装pip install "pandas[hdf5, parquet, feather, spss, excel]"
依赖性 |
最低版本 |
额外点 |
笔记 |
---|---|---|---|
PyTables |
3.8.0 |
HDF5 |
基于HDF5的读/写 |
布卢斯克 |
1.21.3 |
HDF5 |
HDF5 压缩;仅适用于 |
兹库 |
HDF5 |
HDF5 压缩 |
|
快速镶木地板 |
2022.12.0 |
Parquet 读/写(默认为 pyarrow) |
|
皮箭头 |
10.0.1 |
镶木地板, 羽毛 |
Parquet、ORC 和羽毛读/写 |
pyreadstat |
1.2.0 |
统计软件 |
SPSS 文件 (.sav) 读取 |
奥德菲 |
1.4.1 |
卓越 |
开放文档格式(.odf、.ods、.odt)读/写 |
警告
如果你想使用
read_orc()
,强烈建议使用 conda 安装 pyarrow。read_orc()
如果 pyarrow 是从 pypi 安装的,并且read_orc()
与 Windows 操作系统不兼容,则可能会失败。
访问云端数据#
可安装pip install "pandas[fss, aws, gcp]"
依赖性 |
最低版本 |
额外点 |
笔记 |
---|---|---|---|
FS规范 |
2022.11.0 |
FSS、GCP、AWS |
处理除简单本地和 HTTP 之外的文件(需要 s3fs、gcsfs 的依赖)。 |
GCSFS |
2022.11.0 |
通用控制协议 |
谷歌云存储访问 |
pandas-GBQ |
0.19.0 |
通用控制协议 |
Google Big Query 访问权限 |
s3fs |
2022.11.0 |
AWS |
亚马逊S3访问 |
剪贴板#
可通过.pip install "pandas[clipboard]"
依赖性 |
最低版本 |
额外点 |
笔记 |
---|---|---|---|
PyQt4/PyQt5 |
5.15.9 |
剪贴板 |
剪贴板输入/输出 |
qtpy |
2.3.0 |
剪贴板 |
剪贴板输入/输出 |
笔记
根据操作系统的不同,可能需要安装系统级软件包。要使剪贴板在 Linux 上运行xclip
,xsel
必须在系统上安装CLI 工具之一。
压缩#
可安装pip install "pandas[compression]"
依赖性 |
最低版本 |
额外点 |
笔记 |
---|---|---|---|
Z标准 |
0.19.0 |
压缩 |
Z标准压缩 |
联盟标准#
可安装pip install "pandas[consortium-standard]"
依赖性 |
最低版本 |
额外点 |
笔记 |
---|---|---|---|
数据帧 API 兼容 |
0.1.7 |
联盟标准 |
基于pandas的联盟标准兼容实现 |