我正在尝试验证包含苏格兰邮政编码的数据框列(df['Postcode'])。我有两个 CSV,其中包含几乎所有可能的苏格兰邮政编码(small_df 或 large_df),我希望循环遍历这些邮政编码并(目前)返回原始数据框中与这些 CSV 中的任何条目都不匹配的邮政编码。
每个数据帧中的数据(下面简化)是英国邮政编码的空格条,例如PA29DE,串型。
案例 | 邮政编码 |
---|---|
1 | PA29DE |
2 | PH29AD |
3 | 南 |
4 | KW102ZE |
5 | KW123DE |
我使用以下循环来执行此操作,但它只是返回 df['Postcode'] 中所有条目的列表。
for i in df['Postcode']:
if i not in small_df['Postcode'] or large_df['Postcode']:
print(i)
我只期望 df 中的条目不在small_df或large_df中。我真的不知道如何从这里继续,而且我找不到任何其他有效的解决方案。
您在代码中犯了一个错误,“或”是要测试 2 个条件,但
large_df['Postcode']
不是一个条件,因此您必须替换它:
if i not in small_df['Postcode'] and i not in large_df['Postcode']:
print(i)