安裝#
安裝 pandas 最簡單的方法是將它安裝為 Anaconda 套件的一部分,Anaconda 是用於資料分析和科學運算的跨平台套件。對於大多數使用者而言,建議使用 Conda 套件管理員進行安裝。
此外,也提供了 從原始碼、PyPI 或 開發版本 安裝的說明。
Python 版本支援#
官方支援 Python 3.9、3.10、3.11 和 3.12。
安裝 pandas#
使用 Anaconda 安裝#
對於 Python 新手來說,安裝 Python、pandas 和組成 PyData 堆疊的套件(SciPy、NumPy、Matplotlib、以及更多)的最簡單方法是使用 Anaconda,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 可以透過 pip 從 PyPI 安裝。
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 額外功能 |
備註 |
---|---|---|---|
2.8.4 |
效能 |
透過使用多個核心以及智慧化區塊和快取來加速特定數值運算,以達到大幅加速 |
|
1.3.6 |
效能 |
透過使用專業 cython 常式來加速特定類型的 |
|
0.56.4 |
效能 |
使用 JIT 編譯器,透過 LLVM 編譯器將 Python 函式轉換為最佳化機器碼,作為接受 |
視覺化#
可安裝 pip install "pandas[plot, output-formatting]"
。
相依性 |
最低版本 |
pip 額外功能 |
備註 |
---|---|---|---|
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 額外功能 |
備註 |
---|---|---|---|
SciPy |
1.10.0 |
computation |
雜項統計函式 |
xarray |
2022.12.0 |
computation |
類似 pandas 的 N 維資料 API |
Excel 檔案#
可安裝 pip install "pandas[excel]"
。
相依性 |
最低版本 |
pip 額外功能 |
備註 |
---|---|---|---|
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 額外功能 |
備註 |
---|---|---|---|
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 額外功能 |
備註 |
---|---|---|---|
lxml |
4.9.2 |
xml |
read_xml 的 XML 解析器和 to_xml 的樹狀結構建構器 |
SQL 資料庫#
傳統驅動程式可透過 pip install "pandas[postgresql, mysql, sql-other]"
安裝。
相依性 |
最低版本 |
pip 額外功能 |
備註 |
---|---|---|---|
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 額外功能 |
備註 |
---|---|---|---|
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。如果 pyarrow 是從 pypi 安裝的,read_orc()
可能會失敗,而且read_orc()
與 Windows 作業系統不相容。
存取雲端資料#
可透過 pip install "pandas[fss, aws, gcp]"
安裝。
相依性 |
最低版本 |
pip 額外功能 |
備註 |
---|---|---|---|
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 額外功能 |
備註 |
---|---|---|---|
PyQt4/PyQt5 |
5.15.9 |
clipboard |
剪貼簿 I/O |
qtpy |
2.3.0 |
clipboard |
剪貼簿 I/O |
注意事項
根據作業系統,可能需要安裝系統層級套件。若要在 Linux 上操作剪貼簿,必須在您的系統上安裝 CLI 工具 xclip
或 xsel
之一。
壓縮#
可安裝 pip install "pandas[compression]"
相依性 |
最低版本 |
pip 額外功能 |
備註 |
---|---|---|---|
Zstandard |
0.19.0 |
壓縮 |
Zstandard 壓縮 |
聯盟標準#
可安裝 pip install "pandas[consortium-standard]"
相依性 |
最低版本 |
pip 額外功能 |
備註 |
---|---|---|---|
dataframe-api-compat |
0.1.7 |
consortium-standard |
基於 pandas 的聯盟標準相容實作 |