【发布时间】:2021-12-30 20:00:50
【问题描述】:
给定一张桌子,
| Id | Value |
|---|---|
| 1 | 1 |
| 2 | 2 |
| 2 | 3 |
| 3 | 4 |
| 4 | 5 |
| 4 | 6 |
| 2 | 8 |
| 2 | 3 |
| 1 | 1 |
而不是简单的groupby('Id').agg({'Value':'sum'}) 对所有实例执行聚合并生成一个只有四行的表,我希望结果只对附近的实例进行聚合,从而保持表的创建顺序。
预期的输出如下,
| Id | Value |
|---|---|
| 1 | 1 |
| 2 | 5 |
| 3 | 4 |
| 4 | 11 |
| 2 | 11 |
| 1 | 1 |
如果不能使用 pandas groupby,任何其他类型的技巧也将不胜感激。
注意:如果上面的示例没有帮助,基本上我想要的是以某种方式通过聚合“值”来压缩表。聚合应该只在重复的 'Id' 上完成,它们一个接一个地出现。
【问题讨论】:
-
您好,我在搜索引擎上写 groupby over Continuous duplicates 并立即得到您查询的答案;你试过吗?
-
不确定stackoverflow.com/questions/50906756/… 是否有帮助。正如两者都没有提到的,谷歌是你最好的朋友。
标签: python pandas dataframe group-by