Hi,騷年,我是大 G,公眾號「 GitHub 指北 」會推薦 GitHub 上有趣有用的計畫,一分鐘 get 一個優秀的開源計畫,挖掘開源的價值,歡迎關註。
導語
今天推薦一個高效能的多執行緒數據處理庫,采用 Apache Arrow 作為底層技術,提供了低記憶體占用和高處理速度的優勢。它設計了簡單易用的 API,支持處理大數據集(例如 50GB),使數據處理更加高效。Polars 支持包括 Rust 和 Python 在內的多種程式語言,適合需要處理大規模數據集的開發者使用。
效能
速度極快
極地的速度非常快。事實上,它是可用的效能最佳的解決方案之一。檢視 TPC-H 基準測試 結果。
輕的
Polars 也非常輕。它具有零所需的依賴項,這在匯入時間中有所體現:
極地:70ms
numpy:104ms
熊貓:520 毫秒
處理大於 RAM 的數據
如果您的數據無法裝入記憶體,Polars 的查詢引擎能夠以流式處理方式處理您的查詢(或部份查詢)。這大大減少了記憶體需求,因此您也許能夠在膝上型電腦上處理 250GB 的數據集。收集以
collect(streaming=True)
執行查詢流。 (這可能會慢一點,但仍然很快!)
設定
Python
安裝最新的 Polars 版本:
pip install polars
我們還有一個 conda 包 (
conda install -c conda-forge polars
),但 pip 是安裝 Polars 的首選方式。
安裝 Polars 以及所有可選依賴項。
pip install 'polars[all]'
您還可以安裝所有可選依賴項的子集。
pip install 'polars[numpy,pandas,pyarrow]'
有關可選依賴項的更多詳細資訊,請參閱 使用者指南
要檢視當前的 Polars 版本及其可選依賴項的完整列表,請執行:
pl.show_versions()
目前釋出非常頻繁(每周/每隔幾天),因此定期更新 Polars 以獲取最新的錯誤修復/功能可能不是一個壞主意。
Rust
您可以從 獲取最新版本
crates.io
,或者如果您想使用最新功能/效能改進,請指向
main
此儲存庫的分支。
polars = { git = "https://github.com/pola-rs/polars", rev = "<optional git tag>" }
需要 Rust 版本
>=1.71
。
GitHub 地址
點選下方的公眾號;
在後台發訊息「 資料庫工具 」即可獲取。