Students Score1 Students Score2 Students Score3
A 50 B 88 A 48
B 40 A 76 C 47
C 28 C 74 B 40
如何将上述数据框格改为以下格式:
Students Score1 Score2 Score3
A 50 76 48
B 40 88 40
C 28 74 47
我所知道的唯一方法是将iloc应用到单独的数据帧中,然后将它们连接在一起,还是有单向方法可以实现? * Python将重复的列读作Student,Students.1,Students.2等等。
答案 0 :(得分:0)
使用pd.concat
与pd.DataFrame.iloc
成对迭代您的列:
res = pd.concat([df.iloc[:, 2*i:2*i+2].set_index('Students') for i in \
range(int(len(df.columns) / 3 + 1))], axis=1)
print(res)
Score1 Score2 Score3
A 50 76 48
B 40 88 40
C 28 74 47
您可以将索引提升到专栏@ piRSquared的解决方案:
print(res.rename_axis('Students').reset_index('Students'))
Students Score1 Score2 Score3
0 A 50 76 48
1 B 40 88 40
2 C 28 74 47