我是 Python - pandas 的新手,目前正在尝试使用它来检查 DataFrame 中的数据是否连续。例如:
thread sequence start end
14 1 114 1647143 1672244
15 1 115 1672244 1689707
16 1 116 1689707 1713090
17 1 118 1735352 1760283
18 1 119 1760283 1788062
19 1 120 1788062 1789885
20 1 121 1789885 1790728
每行有 4 列,一般顺序应该增加 1,所以如果一切正确,它看起来像 116,117,118 ... ,就像一个 range() 函数。但是这里的示例缺少序列 == 117 的行。
我试图找到它,但我不知道该怎么做。如果我只是一个一个地检查序列,那将是低效的。所需的输出是告知缺失的行或用 NaN 填充缺失的行。
任何好的提示或建议都会有所帮助。
请您参考如下方法:
使用 RangeIndex 的更快方法:
seq = pd.RangeIndex(df.sequence.min(), df.sequence.max())
seq[~seq.isin(df.sequence)].values
# array([117])
