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

如何检测Pandas DataFrame指定列中连续逻辑序列的错误值

检测Pandas DataFrame id列是否连续的最简方法

直接将id列与从1开始的等长连续序列做逐元素对比,就能同时校验「起始值为1、步长为1无断档」两个要求,一行代码即可实现:

# 标记每行id是否存在错误,True为错误行
df['id_error'] = df['id'] != range(1, len(df) + 1)

如果需要直接提取所有错误行,使用以下代码即可:

# 筛选出所有id不符合要求的行
error_rows = df[df['id'] != range(1, len(df) + 1)]

针对你给出的示例DataFrame,执行后得到的error_rows会直接返回id为4的第三行数据,精准定位错误位置。

如果只需要判断整个DataFrame是否存在id错误,不需要定位具体行,可以用更高效的判断写法:

# 返回True表示存在id不连续/不符合规则的问题
has_id_error = not df['id'].equals(pd.RangeIndex(start=1, stop=len(df)+1))

补充备选方案

如果仅需要校验序列连续,不需要强制起始值为1,也可以用差分法判断:

# 返回True表示id序列步长全为1,无断档
is_continous = df['id'].diff().dropna().eq(1).all()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 10:00:02