问题描述
我有7个数据帧,只有“ OK”和“ KO”值,唯一连接所有内容的列就是ID。
df1:
ID,Name,Address,Email
1,OK,OK
2,KO,OK
3,KO
df2:
ID Job,Credit_Card,Driving_License_Number
1,OK
我试图找到一种查询或将所有“ KO”值合并到单个csv文件/数据框中的方法,以便我可以轻松地检查哪些列未通过测试
类似这样的东西:
ID_2,ID_3
Address,Email
Job
Credit_Card
因此,我知道ID_2缺少地址,工作和信用卡信息,ID_3缺少电子邮件。
解决方法
让我们首先在ID
上合并它们,然后进行矩阵乘法:
merged = df1.merge(df2,on='ID').set_index('ID')
(merged.eq('KO') @ (merged.columns + (','))).str[:-2]
输出:
ID
1
2 Address,Job,Credit_Card
3 Email
dtype: object