如何对 Pandas GroupBy 对象中的组进行排序?

片刻

我有一个包含 3 列的 Pandas DataFrame:日期、概念和值。我想添加第四列“排名”,其中包含按日期分组时价值的订单统计信息。例如,请考虑下表:

日期 概念 价值
2021-01-01 一种 20
2021-01-01 30
2021-01-01 C 25
2021-02-01 一种 17
2021-02-01 31
2021-02-01 C 42

在这种情况下,我的决赛桌应该是这样的:

日期 概念 价值
2021-01-01 一种 20 1
2021-01-01 30 3
2021-01-01 C 25 2
2021-02-01 一种 17 1
2021-02-01 31 2
2021-02-01 C 42 3

有没有什么优雅的方法可以用熊猫来做到这一点?

布伦丹

使用transformpd.Series.rank

df = pd.DataFrame({'Date': {0: '2021-01-01 ', 1: '2021-01-01 ', 2: '2021-01-01 ', 3: '2021-02-01 ', 4: '2021-02-01 ', 5: '2021-02-01 '}, 
                   'Concept ': {0: 'A ', 1: 'B ', 2: 'C ', 3: 'A ', 4: 'B ', 5: 'C '}, 
                   'Value': {0: 20, 1: 30, 2: 25, 3: 17, 4: 31, 5: 42}})

df['Rank'] = df.groupby(['Date'])['Value'].transform(pd.Series.rank)
          Date Concept   Value  Rank
0  2021-01-01        A      20     1
1  2021-01-01        B      30     3
2  2021-01-01        C      25     2
3  2021-02-01        A      17     1
4  2021-02-01        B      31     2
5  2021-02-01        C      42     3

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

pandas Dataframe groupby,按绝对值对组进行排序

如何使Pandas groupby对象的处理效率更高?

您如何从Bokeh的Pandas GroupBy中谋划?

Pandas Groupby 和排序

如何使用pandas groupby向每个组添加行?

在groupby pandas之后如何计算组内的值

如何在 pandas groupby 聚合期间访问组键?

如何对groupby对象中没有时间列的基于时间的列进行排序

Pandas groupby:在创建具有两列的 groupby 时如何以正确的顺序对工作日进行排序?

如何在 Pandas 中使用 groupby 按 bin 对数据进行排序?

Pandas groupby 在保留多个聚合的组内进行排序,并使用 facet 对其进行可视化

从pandas groupby对象中选择多个组

Pandas:如何按每行的非 NaN 数量进行 GROUPBY?

您如何指定对先前记录进行操作的pandas groupby操作?

Pandas groupby,如何在多个列上进行多个聚合?

Pandas - 如何计算 groupby 对象的持续时间

如何结合Pandas中的条件语句在子组中的groupby中分配权重

Pandas:Groupby 中的语法

如何在pandas groupby中添加新列?

如何在pandas groupby中输出大量直方图

如何通过groupby Pandas&中的条件达到所需的属性

如何使用groupby连接python pandas中的字符串?

Pandas中groupby方法的'level'参数如何工作?

如何在pandas groupby中获得行业丢失率

在Pandas Dataframe中的groupby之后如何使用分配功能

如何使用groupby在pandas中以相反的顺序对列求和

使用Groupby对象Pandas进行计算

如何获取熊猫的groupby对象中的组数?

在Pandas Groupby中设置组值