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

基于行间差值对Pandas DataFrame进行分组的实现方法

按Pandas DataFrame行间差值分组的实现方案

核心思路

通过计算a列相邻行的差值,识别分组分界点,再累加生成分组ID,最终用groupby完成分组。

完整代码示例

import pandas as pd

# 初始化数据框
zz = pd.DataFrame([[1,0], [1.1, 2], [2,3], [2.19,4], [5,7], [6,0], [7,2], [8,3], [8.05, 0], [8.12,4]], columns = ['a', 'b'])

# 生成分组ID:当相邻行a列差值≥0.2时,视为新分组的起点,累加计数得到分组标识
zz['group_id'] = (zz['a'].diff() >= 0.2).cumsum()

# 执行分组
grouped = zz.groupby('group_id')

# 查看每个分组的行索引
for group_num, group in enumerate(grouped, start=1):
    _, df = group
    print(f"group{group_num}: {df.index.tolist()}")

输出结果

运行代码后将得到与预期一致的分组:

  • group1: [0, 1]
  • group2: [2, 3]
  • group3: [4]
  • group4: [5]
  • group5: [6]
  • group6: [7, 8, 9]

(注:预期中的分组编号偏移是因为起始计数差异,实际分组内容完全匹配)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 09:55:19