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

Pandas将row-difference为1行的差值累加上行以计算车辆加油量

Pandas 拆分加油记录合并解决方案

实现思路

  • 先给每个加油记录分组:每当遇到row-difference为0或NaN(第一条记录)时生成新的分组ID,后续row-difference为1的行自动归到最近的上一分组
  • 分组后按规则聚合各字段:
    • Difference (%)列做求和计算,累加同组所有拆分条目的差值
    • 油箱液位Bränslenivå (%)、里程数Vägmätare (km)、时间Tid取分组最后一行的值
    • 行号row、事件类型Händelse、row-difference取分组首行的值,保留记录起始信息

完整实现代码

将以下代码追加到你现有代码的末尾即可得到合并后的结果:

# 生成分组ID
df1filt['group_id'] = (df1filt['row-difference'].eq(0) | df1filt['row-difference'].isna()).cumsum()

# 按分组聚合得到最终结果
df_merge = df1filt.groupby('group_id').agg(
    row=('row', 'first'),
    Händelse=('Händelse', 'first'),
    Tid=('Tid', 'last'),
    **{
        'Bränslenivå (%)': ('Bränslenivå (%)', 'last'),
        'Vägmätare (km)': ('Vägmätare (km)', 'last'),
        'Difference (%)': ('Difference (%)', 'sum'),
        'row-difference': ('row-difference', 'first')
    }
).reset_index(drop=True)

# 输出查看结果
print(df_merge)

该代码兼容你现有逻辑里对row-difference的自定义修改规则,不会冲突。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 06:36:00