使用熊猫将来自多个数据框的列与特定值合并

问题描述

我有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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...