[英]Python pandas: pivot DataFrame columns in rows
我有一個 pandas DataFrame 如下,顯示學生在多個科目的成績:
Name Subject Score
0 Tom A 91
1 Tom B 92
2 Tom C 93
3 Bob A 94
4 Bob C 95
5 Ali B 96
6 Ali C 97
請注意,並非每個學生在所有科目中都有分數。 我想將 pivot 變成這樣的 DataFrame :
Name A B C
0 Tom 91 92 93
1 Bob 94 95
2 Ali 96 97
在此 pivot 中要實現的目標:
我是 pandas 的新手,但我查看了 DataFrame.pivot_table(),但不幸的是找不到正確的方法。
您正確地使用了pivot_table來解決這個問題:
df = df.pivot_table(index='Name', values='Score', columns='Subject') \
.reset_index() \
.rename_axis(None, axis=1)
print(df)
Output:
Name A B C
0 Ali NaN 96.0 97.0
1 Bob 94.0 NaN 95.0
2 Tom 91.0 92.0 93.0
Pivot也適用於這種情況:
df = df.pivot(index='Name', values='Score', columns='Subject') \
.reset_index() \
.rename_axis(None, axis=1)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.