gpt4 book ai didi

pandas - Pandas 更改数据透视表中列的顺序

转载 作者:行者123 更新时间:2023-12-04 17:14:35 34 4
gpt4 key购买 nike

数据透视表的表示形式看起来不像我在寻找的东西,更具体地说,结果行的顺序。
我不知道如何以正确的方式进行更改。

df示例:

test_df = pd.DataFrame({'name':['name_1','name_1','name_1','name_2','name_2','name_2','name_3','name_3','name_3'], 
'month':[1,2,3,1,2,3,1,2,3],
'salary':[100,100,100,110,110,110,120,120,120],
'status':[1,1,2,1,1,3,2,2,1]})

使枢轴的代码:
test_df.pivot_table(index='name', columns=['month'], 
values=['salary', 'status'])

实际输出:
       salary           status      
month 1 2 3 1 2 3
name
name_1 100 100 100 1 1 2
name_2 110 110 110 1 1 3
name_3 120 120 120 2 2 1

我想看的输出:
       salary status salary status salary status             
month 1 1 2 2 3 3
name
name_1 100 1 100 1 100 2
name_2 110 1 110 1 110 3
name_3 120 2 120 2 120 1

最佳答案

您将使用 sort_index ,指示轴和级别:

piv = test_df.pivot_table(index='name', columns=['month'], 
values=['salary', 'status'])
piv.sort_index(axis='columns', level='month')
# salary status salary status salary status
#month 1 1 2 2 3 3
#name
#name_1 100 1 100 1 100 2
#name_2 110 1 110 1 110 3
#name_3 120 2 120 2 120 1

关于pandas - Pandas 更改数据透视表中列的顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55416191/

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