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

Pandas按指定行数划分DataFrame分组并新增group_id分组列

Pandas按固定行数分配分组ID实现方案

按指定x行拆分、自动给尾部不足额行分配独立分组ID的需求,用索引整数除法就能快速实现,不需要写循环或者复杂判断。

具体实现

以每3行分一组的场景为例,代码如下:

import pandas as pd

# 构造示例数据集
df = pd.DataFrame({'foo': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]})
group_row_count = 3  # 自定义每组的行数,这里对应示例的3行一组
df['group_id'] = df.index // group_row_count + 1

运行后得到的结果和目标效果完全一致:

foo  group_id
0    1         1
1    2         1
2    3         1
3    4         2
4    5         2
5    6         2
6    7         3
7    8         3
8    9         3
9   10         4

逻辑说明

  • 核心是利用整数除法的向下取整特性:连续x个索引值除以x的整数结果完全相同,正好对应同一个分组的标记,最后加1是为了让分组ID从1开始计数,和示例效果对齐
  • 不需要额外处理总行数不能被x整除的场景,最后不足x行的尾部数据会自动生成新的独立分组ID
  • 如果DataFrame当前不是从0开始的连续整数索引,先执行df = df.reset_index(drop=True)重置索引再计算即可,避免分组错位

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.01 02:01:34