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

在pandas dataframe中基于索引值按行间隔生成分组set_id编号

Pandas 按固定行数分组更新set_id列实现方案

你可以直接利用整数除法的特性实现分组编号,核心思路是对行号做每n个为一组的整除运算,再将结果加1即可得到从1开始的连续组id。


实现代码

适用场景1:DataFrame索引为从0开始的连续整数

# n为每组包含的行数,示例中n=2
n = 2
df['set_id'] = (df.index // n) + 1

适用场景2:索引不连续/索引不是从0开始

如果你的DataFrame索引不符合连续从0开始的要求,可以用numpy.arange生成临时行号计算:

import numpy as np

n = 2
df['set_id'] = (np.arange(len(df)) // n) + 1

完整测试示例

import pandas as pd

# 构造你提供的原始DataFrame
data = {
    "name": ["name0", "name1", "name2", "name3", "name4", "name5"],
    "qty1": [2, 1, 0, 6, 8, 0],
    "qty2": [5, 7, 4, 6, 8, 3],
    "set_id": [1000]*6
}
df = pd.DataFrame(data)

# 执行更新操作
n = 2
df['set_id'] = (df.index // n) + 1

print(df)

运行后输出的结果和你给出的预期效果完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 23:09:03