如何在索引列重复时将 Panda 的列转换为索引和 header
How to convert Panda's columns into an index and a header when index column has duplicates
我想转换一个数据帧,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)
但我收到一条错误消息,指出我有重复的索引。感谢您的帮助。
您可以将 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
我想转换一个数据帧,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)
但我收到一条错误消息,指出我有重复的索引。感谢您的帮助。
您可以将 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