我想将字典中的键与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'}