基於Rust的資料框架庫Polars會取代Pandas嗎?
Polars 是一個為 Python 和 Rust 提供記憶體資料幀的開源專案。儘管它還很年輕(它的第一次提交是在僅僅兩年前,在 COVID-19 大流行期間),但由於其“閃電般”的效能和 API 的表現力,它已經獲得了廣泛的歡迎。
Polars 最有趣的事情之一是它提供了兩種操作模式:
- Eager模式有點類似於 pandas 的工作方式:操作立即執行,其結果可在記憶體中使用。然而,鏈中的每個操作都需要分配一個 DataFrame,這並不理想。
- 另一方面,惰性模式構建了一個儘可能利用並行性的最佳化查詢計劃:Polars 應用了幾種簡化技術並推動計算以儘可能加快執行時間。
Polars 的另一個秘訣是 Apache Arrow。雖然其他庫使用 Arrow 來讀取 Parquet 檔案,但 Polars 與之緊密結合:透過使用Arrow 記憶體格式的 Rust 原生實現來進行列式儲存,Polars 可以利用高度最佳化的 Arrow 資料結構並專注於資料操縱操作。
如果您正在為大於 RAM 的資料集尋找終極解決方案,Polars 可能不適合您。它的惰性處理能力可以帶你走很遠,但在某些時候你將不得不面對這樣一個事實,Polars 是一個記憶體資料幀庫,類似於 pandas。
總之:
- 如果您願意學習不同但功能強大的新 API,如果您的資料適合記憶體,如果您的工作流程涉及大量列表列操作,並且通常如果您想探索比 pandas 更快的替代方案,請使用 Polars。
- 如果您的資料比 RAM 大得多,如果您正在尋找快速遷移大型 pandas 程式碼庫的解決方案,或者如果您正在尋找久經考驗的舊庫,請不要使用 Polars。
詳細點選標題
相關文章
- Polars:用於 Rust 和 Python的快速資料整理DataFrame庫RustPython
- 資料湖會取代資料倉儲嗎?
- 比較 Pandas、Polars 和 PySpark:基準分析Spark
- 大資料會取代傳統BI嗎大資料
- Polars提供Javascript的資料處理庫 - levelupJavaScript
- 基於代理的資料庫分庫分表框架 Mycat實踐資料庫框架
- 關於:Express會被Koa2取代嗎?Express
- Bevy:基於Rust的資料驅動遊戲引擎和應用程式框架Rust遊戲引擎框架
- Pandas庫基礎分析——資料生成和訪問
- Pandas讀寫資料庫資料庫
- 你真的會使用資料庫的索引嗎?資料庫索引
- 基於python的大資料分析-pandas資料儲存(程式碼實戰)Python大資料
- 基於python的大資料分析-pandas資料讀取(程式碼實戰)Python大資料
- python以後會取代php嗎PythonPHP
- 資料科學家會被機器學習工程師取代嗎? - KDnuggets資料科學機器學習工程師
- 基於PMEM的PG資料庫Memhive資料庫Hive
- 谷歌的QUIC協議會取代TCP嗎? - levelup谷歌UI協議TCP
- 基於python的大資料分析實戰學習筆記-pandas(資料分析包)Python大資料筆記
- Rust的資料DataFrame庫有哪些?Rust
- Deno會在短期內取代Node嗎?
- AI會取代人類勞動嗎?AI
- 【Pandas基礎教程】第02講 Pandas讀取資料
- 基於Pandas+ECharts的金融大資料視覺化實現方案Echarts大資料視覺化
- Pandas 基礎 (5) - 處理缺失的資料
- Node之父重構的Deno終於釋出了,它終究會取代Node嗎?
- Rust會成為JavaScript未來的基礎設施嗎? – thenewstackRustJavaScript
- 哪些資料崗位會被ChatGPT們取代?ChatGPT
- 低程式碼平臺會取代COTS嗎
- django基礎--02基於資料庫的小專案Django資料庫
- Rust 連線 PostgreSQL 資料庫RustSQL資料庫
- 基於python的大資料分析實戰學習筆記-pandas之DataFramePython大資料筆記
- 資料庫框架Sugar的使用資料庫框架
- 基於json資料格式實現的簡單資料庫——jsonDBJSON資料庫
- [譯] PWA 會取代原生移動應用嗎?
- Python 資料處理庫 pandas 入門教程Python
- Python 資料處理庫 pandas 進階教程Python
- [python] 基於Tablib庫處理表格資料Python
- 一個從基礎到實戰的學習機會:Go & Rust、分散式資料庫系統 | PingCAP Talent PlanGoRust分散式資料庫PingCAP