我的数据集有两列名称 location-id 和 location-name。每个位置名称都有一个唯一的位置 ID。
location-id location-name
234 SL
456 IN
234 SL
123 EN
由于每个位置都有一个唯一的 id,因此 location-id 列和 location-name 列中的唯一值需要相等。但是 df 中似乎有一个错误,我的 location-id 有 1863 个唯一值,而 location-name 有 1800 个唯一值。
有没有办法发现错误发生在哪些条目中?
我想了一个办法。遍历这两列并创建一个包含键值对的字典。
dict_a = {234:"SL", 456:"IN", 123:"EN"}
对于每个样本,获取 location-id,检查它是否已经是字典中的键。如果它已经存在,请检查与其相关的值。如果该值 == 当前样本的位置 ID,则转到下一个样本。如果值和位置名称不同,则将该新名称作为另一个值添加到同一键。遍历完整数据集后,获取具有多个值的键值对,以发现数据集中的错误。
有没有更有效的方法来做到这一点?