本文介绍了 pandas 数据透视表嵌套排序部分2的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

给出此数据框和数据透视表:

Given this data frame and pivot table:

import pandas as pd
df=pd.DataFrame({'A':['x','y','z','x','y','z'],
                 'B':['one','one','one','two','two','two'],
                 'C':[7,5,3,4,1,6]})
df


    A   B       C
0   x   one     7
1   y   one     5
2   z   one     3
3   x   two     4
4   y   two     1
5   z   two     6

table = pd.pivot_table(df, index=['A', 'B'],aggfunc=np.sum)

table
A  B  
x  one    7
   two    4
y  one    5
   two    1
z  one    3
   two    6
Name: C, dtype: int64

我想对数据透视表进行排序,以使值在"C"内降序排序.

I want to sort the pivot table such that the values are sorted descendingly within 'C'.

喜欢这个:

A  B  
x  one    7
   two    4
y  one    5
   two    1
z  two    6
   one    3

提前谢谢!

推荐答案

这应该有效

df.groupby(['A'])['B', 'C'].apply(lambda x: x.set_index('B').sort_values('C', ascending=0))

这篇关于 pandas 数据透视表嵌套排序部分2的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-19 23:04