pandas - 在做pivot

pandas - 在做pivot,第1张

pandas - 在做pivot_table时 如何将第一层column与第二层column交换位置

原始数据长这样:

id	course	score	semeter
0	1	eng	73	a
1	2	eng	19	b
2	3	eng	72	a
3	4	math	63	b
4	5	math	70	b
5	6	math	47	a
6	7	chinese	21	b
7	8	chinese	56	b
8	9	chinese	19	b
df_pt = df.pivot_table(columns=["course", "semeter"], values="score", aggfunc='sum')
df_pt

# res
course	chinese	eng	math
semeter	b	a	b	a	b
score	96	145	19	47	133

需求: 调整 将semeter与course在column上交换位置

df_pt.swaplevel(axis=1).unstack().reset_index().pivot_table(columns=["semeter", "course"], values=0, aggfunc='sum')
# res
semeter	a	b
course	eng	math	chinese	eng	math
0	145	47	96	19	133

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/788962.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-05
下一篇 2022-05-05

发表评论

登录后才能评论

评论列表(0条)

保存