gpt4 book ai didi

python - Pandas 数据框 - 列转置

转载 作者:行者123 更新时间:2023-11-28 21:39:43 25 4
gpt4 key购买 nike

给定数据框

user month      valueX   valueY
--------------------------------
884 2013-01 1 5
889 2013-02 0 15
884 2013-02 7 29
889 2013-01 9 38

我怎样才能得到这个:

user |2013-01-valueX |2013-02-valueX  |2013-01-valueY  |2013-02-valueY
--------------------------------------------------------------------
884 |1 |7 |5 |19
889 |9 |0 |38 |15

最佳答案

你可以使用 unstack

df1 = df.set_index(['user', 'month'])[['valueX', 'valueY']].unstack()
df1.columns = df1.columns.swaplevel().map('-'.join)
df1 = df1.reset_index()

user 2013-01-valueX 2013-02-valueX 2013-01-valueY 2013-02-valueY
0 884 1 7 5 29
1 889 9 0 38 15

编辑:正如@Zero 所建议的,您可以在不使用 swaplevel() 的情况下组合多索引列,

df.columns = df1.columns.map('{0[1]}-{0[0]}'.format) 

关于python - Pandas 数据框 - 列转置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46395758/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com