You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

按metric_name分组计算DataFrame中count列的差分

实现方法

可以用 pandas 的分组差分功能来实现,步骤如下:

  1. 先构造你的示例 DataFrame(如果已有数据可跳过这步):
import pandas as pd

df = pd.DataFrame({
    'metric_name': ['m_1', 'm_2', 'm_1', 'm_2'],
    'ts': [1, 1, 2, 2],
    'count': [10, 20, 12, 19]
})
  1. 按 metric_name 分组计算 count 的差分,并将分组内第一行的空值替换为 0:
# 分组计算差分,组内第一行返回 NaN,用 fillna(0) 替换为 0
df['diff_count'] = df.groupby('metric_name')['count'].diff().fillna(0)
# 可选:将浮点型结果转为整数,匹配示例格式
df['diff_count'] = df['diff_count'].astype(int)
  1. 最终输出结果:
metric_name  ts  count  diff_count
0         m_1   1     10           0
1         m_2   1     20           0
2         m_1   2     12           2
3         m_2   2     19          -1

关键逻辑说明

  • groupby('metric_name'):确保每个指标单独计算差分,不会跨指标干扰
  • diff():计算当前行与同组前一行的 count 差值,组内第一行因无前置数据返回 NaN
  • fillna(0):把第一行的空值替换为 0,符合你要求的起始行差分规则

内容的提问来源于stack exchange,提问作者Capacytron

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 09:12:21