Python - 验证一个数据帧列中的项目是否存在于另一个数据帧的列中

问题描述 投票:0回答:1

我正在尝试验证包含苏格兰邮政编码的数据框列(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中。我真的不知道如何从这里继续,而且我找不到任何其他有效的解决方案。

python dataframe postal-code
1个回答
0
投票

您在代码中犯了一个错误,“或”是要测试 2 个条件,但

large_df['Postcode']
不是一个条件,因此您必须替换它:

if i not in small_df['Postcode'] and i not in large_df['Postcode']:
    print(i)
© www.soinside.com 2019 - 2024. All rights reserved.