首页 > 解决方案 > 有没有办法在熊猫数据框中使用 python 查找序列中缺失的数字?

问题描述

因此,我试图找到事物列表中缺少的事物。它们保存在 pandas 数据框中,并且位于一列中,数据如下所示:

samples = ["ABC001", "ABC002", "ABC003", "ABC005", "ABC006", "DEF001", "DEF003"]

最终我想找到丢失的 ["ABC004", "DEF002"] 并将它们放入一个新列表中。标识符“ABC”或“DEF”可能不止这些。我也有时间数据可以用来帮助查找丢失的东西的过程说输入 ABC004 和 ABC006 之间有 2 分钟的间隔,而通常输入应该需要 1 分钟。

有没有聪明的方法来做到这一点。我有一个排序列表,但是我很难弄清楚如何从那里去获取丢失样本的列表。任何建议将不胜感激!

标签: pythonpandaslistdataframe

解决方案


既然你说你想找到缺失的,我假设你心里有一个列表,其中包含你想要的所有值。您可以制作此列表,例如:

ABC_samples = [f"ABC{x:03d}" for x in range(6)]
ABC_samples
>>> ['ABC000', 'ABC001', 'ABC002', 'ABC003', 'ABC004', 'ABC005']

然后您可以查询不在两个集合中的值,例如 ABC_samples 集合和样本集合。

missing = set(samples) ^ set(ABC_samples)
missing
>>> {'ABC000', 'ABC0006', 'ABC004', 'DEF001', 'DEF003'}

推荐阅读