将Dictionary Key与df列名进行比较以查找缺少的列



我想将字典中的键与df列名进行比较,以查找缺少的列名。

import pandas as pd
df= pd.DataFrame(columns=['industry','System_Type__c','AccountType','email','firstname','lastName','country','company'])
req_cols={"firstname":[],"lastName":[],"country":[],"company":[],"email":[], "Existing_Customer__c":[]}
errors= {}
if req_cols.items() in df.columns.values:
pass
else:
errors= {"There is a missing required column"}

我有上面的代码来写一条错误消息,但我希望它更详细。这是一个错误消息的例子,我想要

{'Existing_Customer_c is missing in the column names'}

很明显,输出会根据缺少的列值而变化,如果不缺少值,则不需要编写错误消息。

如何将dictionary关键字与df列名进行比较,找出缺少的变量并编写错误消息?

您可以使用set操作:

missing = set(req_cols)-set(df)
if missing:
errors = {f'missing columns: {", ".join(missing)}'}
else:
errors = {}

print(errors)

输出:{'missing columns: Existing_Customer__c'}

最新更新