首頁 > 後端開發 > Python教學 > 如何在 Pandas 中有效地旋轉資料幀?

如何在 Pandas 中有效地旋轉資料幀?

DDD
發布: 2024-12-25 13:29:42
原創
768 人瀏覽過

How Can I Efficiently Pivot DataFrames in Pandas?

透視 DataFrame

簡介

透視,也稱為轉置,是資料轉換中的常見操作,其中交換行和列。它對於將資料重塑為更合適的格式或創建跨多個維度匯總資料的報告等任務非常有用。在 Python 中,pandas 提供了多種用於旋轉 DataFrame 的方法,每種方法都有自己的優點和限制。

基本旋轉

對於基本旋轉,您可以使用以下方法:

pandas.pivot_table: 此方法透過指定要旋轉的列,提供了靈活的資料透視介面用作行、列和值。支援各種聚合函數,如平均值、總和、計數等

pandas.DataFrame.groupby pandas.unstack:使用groupby按所需列將資料分組,然後使用unstack結果MultiIndex unstack 以建立旋轉的DataFrame。

進階旋轉

用於更複雜的旋轉操作,您可以使用以下方法:

pandas.DataFrame.set_index pandas.unstack: 與groupby 類似,但如果您在一組唯一的行和列上進行旋轉,則效率更高。

pandas.DataFrame.pivot:pivot_table 的更簡潔版本,但功能有限

其他方法

pandas.crosstab:用於建立列聯表(交叉表),這是一種跨兩個分類變數聚合資料的資料透視表。

pandas.factorize numpy.bincount: 更先進的技術可以更快地執行某些操作。使用因式分解將分類值轉換為唯一整數,然後使用 bincount 計算出現次數。

pandas.get_dummies pandas.DataFrame.dot:使用虛擬變數執行交叉表的創意方法.

範例

以下是一些如何使用的範例這些方法:

展平

要展平透視DataFrame的多重索引,您可以根據列類型使用不同的方法:

如果列是字串:

如果列是元組:

附加說明

  • 選擇要旋轉的列時,確保它們是分類的或具有有限數量的唯一值,以避免創建寬DataFrame許多欄位。
  • 使用聚合函數處理缺失時請注意填充值資料。
  • 考慮對大型資料集使用 set_index 和分解等效能增強技術。
  • 如果需要將資料從寬格式轉置為長格式,請探索其他選項,例如 pandas.wide_to_long。

以上是如何在 Pandas 中有效地旋轉資料幀?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板