熊猫按每组的小计排序

时间:2020-04-21 03:25:42

标签: python pandas dataframe sorting

还是新手,但有一种方法可以按每个组的小计对df进行排序。

 Area   Unit   Count
  A     A1      5
  A     A2      2
  B     B1      10
  B     B2      1 
  B     B3      3
  C     C1      10

所以我想按每个Area的小计对它们进行排序,得出A subtotal = 7, B subtotal=14, C subtotal = 10 排序应该是

 Area   Unit   Count
  B     B1      10
  B     B2      1 
  B     B3      3
  C     C1      10
  A     A1      5
  A     A2      2

*请注意,尽管值B3 > B1不受排序的影响。

1 个答案:

答案 0 :(得分:1)

创建一个辅助列“ sorter”,它是count变量的总和,并使用它对ur数据帧进行排序

df['sorter'] = df.groupby("Area").Count.transform('sum')

df.sort_values('sorter',ascending=False).reset_index(drop=True).drop('sorter',axis=1)


  Area  Unit    Count
0   B   B1       10
1   B   B2      1
2   B   B3      3
3   C   C1      10
4   A   A1      5
5   A   A2      2