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

pandas如何按5间隔数值区间分组生成从0开始的累计标识列

解决方案

你需要的功能可以直接用 pandas 的逐元素整数除法实现,逻辑非常简单:

  • 区间间隔为5的情况下,任意非负整数x对应的区间标识正好等于x // 5(整数除法,向下取整),和你给出的区间规则完全匹配:
    • 0~4 整除5结果为0
    • 5~9 整除5结果为1
    • 10~14 整除5结果为2
    • 后续区间以此类推

代码实现

import pandas as pd

# 你的示例DataFrame
df = pd.DataFrame(data={'a': [9,5,4,2,7,5,6,19,2,0,8,21,14]})

# 直接生成b列
df['b'] = df['a'] // 5

输出验证

运行后df['b']的结果正好和你给出的预期一致:

0     1
1     1
2     0
3     0
4     1
5     1
6     1
7     3
8     0
9     0
10    1
11    4
12    2
Name: b, dtype: int64

扩展说明

如果你的实际数据里a列存在负数,//默认的向下取整规则会得到负的区间标识,如果需要调整负数区间的计数逻辑,可以再做偏移处理,比如把所有值先加上对应偏移量再做整除即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 00:45:10