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

如何查找pandas DataFrame逐行递增1的列中被跳过的缺失数字

Pandas 递增列跳号检测方案

核心逻辑是提取目标列的最小值、最大值,生成该区间内所有连续整数的集合,和列中现有值做差集得到缺失的跳号值,无缺失则返回True。

实现代码

import pandas as pd

def check_item_continuity(df, col="item_number"):
    values = df[col].astype(int)
    full_set = set(range(values.min(), values.max() + 1))
    missing_nums = sorted(full_set - set(values))
    return True if len(missing_nums) == 0 else [str(num) for num in missing_nums]

效果测试

代入给出的样例数据运行:

df1 = pd.DataFrame({ 
    "item_number" : [1, 2, 3, 4, 5, 6, 8, 10], 
    "col_A" : ['aaa','bbb','ccc','ddd','eee','fff','hhh', 'jjj']
})
print(check_item_continuity(df1))

输出完全符合预期:

['7', '9']

当item_number列无跳号、逐行增量为1时,函数直接返回布尔值True。

如果需要严格校验行维度的增量合法性(比如排查数值倒序、非逐行+1的乱序异常),可以在函数中新增差分判断逻辑:计算相邻行的差值,存在差值不等于1的非跳号场景时抛出对应错误即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 21:21:37