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

如何用Pandas识别各CODE分组内ID序列不连续的对应CODE值

问题解答

思路正确性判断

你的思路完全可行,只需要补充一个小前提:校验前要先把同一个CODE对应的ID列表做升序排序,避免Excel里行的顺序打乱导致判断错误。比如ABC的行如果顺序是1、4、2,不排序直接校验会得到错误结果,排序后得到[1,2,4]再校验就完全准确。

可以用Python实现逻辑参考:

# 模拟表格数据
data = [
    ("ABC", 1), ("ABC", 2), ("BCD", 1), ("ABC",4),
    ("CDE",1), ("CDE",2), ("BCD",5)
]
# 第一步:构建CODE对应ID列表的字典
code_ids = {}
for code, id_val in data:
    if code not in code_ids:
        code_ids[code] = []
    code_ids[code].append(id_val)
# 第二步:校验连续性
invalid_codes = []
for code, ids in code_ids.items():
    sorted_ids = sorted(ids)
    is_continuous = True
    for i in range(1, len(sorted_ids)):
        if sorted_ids[i] != sorted_ids[i-1] + 1:
            is_continuous = False
            break
    if not is_continuous:
        invalid_codes.append(code)
print(invalid_codes) # 输出 ['ABC', 'BCD']

三类语句适用场景说明

  • If/Else:用于单次条件分支判断,不需要重复执行代码,仅需根据某个条件是否成立选择不同执行路径时使用。比如判断ID是否比前一个大1、判断字典里是否已经存在某个CODE的键,都属于单次条件判断场景。
  • For循环:用于遍历已知长度/范围的可迭代对象(比如列表、字典、固定次数的范围),你明确知道要循环多少次或者要遍历所有元素时使用。比如遍历所有表格行构建字典、遍历每个CODE的ID列表做连续性校验,都适合用For循环。
  • While循环:用于在满足指定条件时重复执行代码,你不知道具体要循环多少次,只知道满足某个条件就停止时使用。比如读取用户输入直到用户输入指定终止字符、批量处理数据直到所有数据处理完成(无固定迭代次数)的场景适合用While循环。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 06:24:03