我想转换一个与此类似的数据帧df:
PIDM | COURSE | GRADE
1 | MAT1 | B
1 | PHY2 | C
2 | MAT1 | A
2 | MAT2 | B
2 | PHE2 | A
采用以下格式:
PIDM | MAT1 | PHY2 | MAT2 | PHY 2
1 | B | C | NaN | NaN
2 | A | NaN | B | A
我假设我可以做类似的事情:
df2 = df.pivot(index='PIDM', columns=‘COURSE’, values = ‘GRADE)
但我收到一条错误,指出我有重复的索引。谢谢你的帮助。
答案 0 :(得分:1)
您可以将pivot_table
与汇总功能join
一起使用:
df2 = df.pivot_table(index='PIDM', columns='COURSE', values = 'GRADE', aggfunc=', '.join)
print (df2)
COURSE MAT1 MAT2 PHE2 PHY2
PIDM
1 B None None C
2 A B A None