熊猫如何在分组到另一列时按分组大小对分组依据进行排序

daiyue

我有以下内容df

id    amount
1     20
2     8
1     3
1     2
2     7

我想groupbydf通过id,并通过它们的大小进行排序的群体,

 df.groupby('id').size().sort_values(ascending=False)

而且还要汇总amount每个组以同时创建一个单独的列total

id    amount    total    size
1     20         25       3
1     3          25       3
1     2          25       3
2     8          15       2
2     7          15       2
pp

您可以将GroupBy+agg与列表一起使用,后跟pd.merge

g = df.groupby('id')['amount'].agg(['size', 'sum'])

res = pd.merge(df, g, left_on='id', right_index=True)\
        .sort_values('size', ascending=False)

print(res)

   id  amount  size  sum
0   1      20     3   25
2   1       3     3   25
3   1       2     3   25
1   2       8     2   15
4   2       7     2   15

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何按分组总和对分组依据进行排序?

使用差异对列进行分组并在熊猫中按另一列对另一列进行排序

如何将排序依据和分组依据组合在一起?条件:按一列排序,按另一列排序

如何在熊猫中按一列或另一列分组

如何在mysql中按值对分组进行排序

如何按列对分组的元素进行排序?

如何在使用分组依据时对一列中的行进行计数

在熊猫中按另一列分组时如何返回value_counts()

按多列排序,按另一列分组

按一列或另一列对熊猫数据框进行分组

Excel-按列对行进行分组,然后按另一列进行排序

R分组依据| 计算按另一列分组的不同值

熊猫按多列分组到一列

在熊猫中,当按另一列分组时,如何查找自按值改变的列以来的时间?

熊猫Slinear插值按另一列分组

熊猫汇总按另一列分组的行

如何创建一个新列,按每个 n 数字对另一列值进行分组?熊猫

熊猫-按一列分组,按另一列排序,从第三列获取价值

在熊猫中对分组数据进行排序

按特定链接列分组到另一列熊猫

按Lodash对分组对象进行排序

按列分组,对另一列进行排序,然后为python中的行分配等级

按星期几分组,另一列按熊猫分组

熊猫分组但保留另一列

如何在表上形成mysql查询以按名为“type”的列和另一列的计数进行分组

如何根据另一列的值对列进行熊猫分组并获得每组的特定结果?

在Pandas Dataframe中按一列排序,然后按另一列分组?

按一列的值排序,使行按另一列的值分组

SQL - 如何根据另一列对列进行分组