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

在Pandas中计算时序DataFrame的每日告警量日差值

时序DataFrame每日告警差值计算实现

步骤1:提取日期并统计每日告警总量

先确保time字段为datetime类型,再提取日期维度并按日求和alerts:

import pandas as pd

# 转换time字段为datetime(若原始数据未格式化)
df['time'] = pd.to_datetime(df['time'])
# 从time中提取日期列
df['date'] = df['time'].dt.date

# 按日期分组,计算每日alerts总和
daily_alerts = df.groupby('date')['alerts'].sum().reset_index()

步骤2:计算当日与前一日的告警差值

利用shift(1)获取前一日的告警总和,再做差值运算:

# 计算当日与前一日的告警差值
daily_alerts['diff_alerts'] = daily_alerts['alerts'] - daily_alerts['alerts'].shift(1)

# 生成仅包含日期和差值的目标DataFrame
result_df = daily_alerts[['date', 'diff_alerts']]

示例验证

假设2023-02-15的告警总和为3,2023-02-16的总和为4,计算后2023-02-16的diff_alerts即为4-3=1,完全匹配需求示例。

扩展:多机器独立计算差值

若需按每个机器单独统计日告警差值,只需调整分组维度:

# 按machineID+日期分组求和
daily_alerts_by_machine = df.groupby(['machineID', 'date'])['alerts'].sum().reset_index()
# 按机器分组后计算相邻日期的差值
daily_alerts_by_machine['diff_alerts'] = daily_alerts_by_machine.groupby('machineID')['alerts'].diff()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 00:05:20