Page 1 of 1

Pandas 2.0:新增功能與重要提示

Posted: Tue Dec 03, 2024 9:41 am
by urrifat77
數據分析往往嚴重依賴不可或缺的pandas函式庫。它提供易於使用的資料結構和資料操作功能,可以有效地處理表格資料集。使用 pandas,使用者可以輕鬆匯入、清理、轉換和聚合來自各種來源的數據,包括 CSV 檔案、Excel 電子表格、SQL 資料庫等。

如果您想了解如何匯入和清理資料、計算統計資料以及使用 pandas 建立視覺化效果,請查看我們的pandas 資料操作課程。

在本教程中,我們將探索 pandas 庫的 薩爾瓦多電話號碼列表 最新版本,透過如何使用它們的範例來探索最新功能。

期待已久的 pandas 2.0 更新終於來了
Pandas 2.0於2023年4月3日發布,歷時三年。這個最新版本提供了一系列新功能,例如增強的擴展數組支援、PyArrow 的 DataFrames 支援以及非納秒日期時間分辨率。但是,它還包括強制棄用,從而導致 API 更改。

作為 Pandas 的重大更新,2.0 版本實現了 1.X 中的所有棄用內容。最新版本的 1.5.3 有大約 150 個警告。如果你的程式碼在 1.X 中沒有警告,它應該與 2.0 版本相容。

揭曉 pandas 2.0 的最新功能
讓我們來看看 pandas 2.0 的新增功能,包括如何使用一些改進的功能。

改進的性能:更快、更節省記憶體的操作
PyArrow 可以被認為是此版本的定義功能。

Pandas 最初是使用 NumPy 資料結構進行記憶體管理開發的,但現在使用者可以選擇使用 PyArrow 作為後備記憶體格式。

PyArrow 是一個 Python 庫(構建在 Arrow 之上),提供使用 Arrow 內存結構處理大型數據集的接口,以及用於序列化、壓縮以及與其他數據處理系統(例如 Apache Spark 和 Apache Parquet)集成的工具。

Arrow 是一種開源且與語言無關的列式資料格式,用於表示記憶體中的資料。它是用 C++ 編寫的,但它是語言競爭的。

原始 NumPy 後端導致的記憶體使用效率低下是一個常見問題,促使用戶探索替代資料處理工具,例如 Spark、Dask、Ray 等。使他們能夠更有效率地工作。

使用 NumPy 和 PyArrow 後端以及 Polars 比較平均值和替換操作的基準

貓熊圖

Polars 是一個基於 Rust 的 Python 資料操作庫,提供類似 pandas 的 DataFrame API,但針對大型資料集具有增強的效能和可擴充性。要了解有關 Polars 庫的更多信息,請查看官方網站。

以下是使用 PyArrow 作為後端讀取 CSV 檔案的程式碼片段:

Image

pd.read_csv(my_file, dytpe_backend='pyarrow')
供電
如果您想學習 pandas 中的有效技術來優化 Python 程式碼,請查看DataCamp 上的「使用 pandas 編寫高效代碼」課程。

現在可以為空資料類型
由於 NumPy 缺乏對某些資料類型中空值的支持,處理 pandas 中的缺失值在過去一直具有挑戰性。例如,NumPy 整數資料型別不允許空值。當在整數列中引入空值時,該列將自動轉換為浮點資料類型,這不太好。

Pandas 1.0 引入了可為空的資料類型,但它們需要一些努力才能利用。幸運的是,在最新版本中,當將資料讀入 DataFrame 時,您可以指定使用可為 null 的資料類型,從而使流程更加簡單。


pd.read_csv(my_file, use_nullable_dtypes=True)