我是python的新手。我的数据看起来像这样:
ID Annotation X Y
ID_1 first 767 942
ID_1 last 768 943
ID_2 first 769 944
ID_2 last 770 945
我想使新列的第一个XY和最后一个XY。我的预期结果:
ID X_first Y_first X_last Y_last
ID_1 767 942 768 943
ID_2 769 944 770 945
感谢您的帮助
答案 0 :(得分:1)
我正在使用unstack
解决pivot
问题
s=df.set_index(['ID','Annotation']).unstack()
s.columns=s.columns.map('_'.join) # columns flatten
s.reset_index(inplace=True)
s
Out[353]:
ID X_first X_last Y_first Y_last
0 ID_1 767 768 942 943
1 ID_2 769 770 944 945