透視,也稱為轉置,是資料轉換中的常見操作,其中交換行和列。它對於將資料重塑為更合適的格式或創建跨多個維度匯總資料的報告等任務非常有用。在 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的多重索引,您可以根據列類型使用不同的方法:
如果列是字串:
如果列是元組:
以上是如何在 Pandas 中有效地旋轉資料幀?的詳細內容。更多資訊請關注PHP中文網其他相關文章!