Python 将熊猫中的行转换为列
我在数据框中有如下结构的数据Python 将熊猫中的行转换为列,python,pandas,Python,Pandas,我在数据框中有如下结构的数据 User day games_won games_draw games_lost tips_taken user1 1 10 4 2 5 user2 1 16 7 1 3 user1 2 2 8 7 0 我想把它转换成以下格式 User
User day games_won games_draw games_lost tips_taken
user1 1 10 4 2 5
user2 1 16 7 1 3
user1 2 2 8 7 0
我想把它转换成以下格式
User day games_won_day1 games_won_day2 games_draw_day1 games_draw_day2 games_lost_day1 games _lost_day2 tips_taken_day1 tips_taken_day2
您可以先设置索引,然后取消堆叠。最后,修复标题
df2 = df.set_index(['User', 'day']).unstack()
df2.columns = df2.columns.map('{0[0]}_day{0[1]}'.format)
df2
games_won_day1 games_won_day2 games_draw_day1 games_draw_day2 games_lost_day1 games_lost_day2 tips_taken_day1 tips_taken_day2
User
user1 10.0 2.0 4.0 8.0 2.0 7.0 5.0 0.0
user2 16.0 NaN 7.0 NaN 1.0 NaN 3.0 NaN
如果您不希望“User”作为输出中的索引,可以在之后重置它。不过,我认为保留是有道理的。谢谢cs95,这很有效。