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

如何在 Pandas 中旋轉資料框?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-11-12 19:27:02780瀏覽

How to Pivot a Dataframe in Pandas?

在 Pandas 中透視資料框

要在 Pandas 中透視資料框,您可以使用 .pivot 方法。此方法將指定的值作為列,並相應地重新排列資料框。

假設您有一個包含「Indicator」、「Country」、「Year」和「Value」欄位的資料框。要轉置表格以使Indicator 列中的值成為新列,請使用以下代碼:

out = df.pivot(index=['Country', 'Year'], columns='Indicator', values='Value')
print(out)

結果輸出將是:

Indicator     1   2   3   4  5
Country Year
Angola  2005  6  13  10  11  5
        2006  3   2   7   3  6

要轉換透視資料資料框恢復為平面表,您可以使用.rename_axis 刪除Indicator 列,並使用.reset_index 將Country 和Year 恢復正常列:

print(out.rename_axis(columns=None).reset_index())

輸出將為:

  Country  Year  1   2   3   4  5
0  Angola  2005  6  13  10  11  5
1  Angola  2006  3   2   7   3  6

如果您的資料具有重複的標籤組合(例如,國家/地區、年份、指標),則可以使用.pivot_table 代替。預設情況下,它採用重複值的平均值:

out = df.pivot_table(
    index=['Country', 'Year'],
    columns='Indicator',
    values='Value')
print(out.rename_axis(columns=None).reset_index())

輸出將為:

  Country  Year    1     2     3     4    5
0  Angola  2005  6.0  13.0  10.0  11.0  5.0
1  Angola  2006  3.0   2.0   7.0   3.0  6.0

有關Pandas 中重塑和數據透視表的更多信息,請參閱使用者指南.

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

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn