我不确定如何利用熊猫来解决这个问题。我正在尝试将一个数据帧中的每个ID的值与其他数据帧进行比较。下面是一个示例。Data Frame A Data Frame B Data Frame C ID Val ID Val ID Val0 12345 10 0 12345 11 0 12345 111 23456 12 1 23456 12 1 23456 122 34567 13 2 34567 13 2 34567 133 45678 16 3 56789 12假设存在三个数据帧(dfa,dfb和dfc),每个数据帧都有ID和值。ID 12345的值为10、11和11,因此将被忽略。对于所有三个数据帧,ID 23456的值均为12,因此将以某种方式对其进行标记。也许打印出ID 23456是相同的。向前移动,由于ID 34567具有相同的值,因此同样适用于ID 34567,但由于ID 45678在数据帧B或数据帧C中不存在,因此将被忽略。我已经想到了一些方法来执行此操作,但是它涉及字典和列表。我想看看是否有办法通过继续利用熊猫来更好地做到这一点。
1 回答

喵喵时光机
TA贡献1846条经验 获得超7个赞
df = A.merge(B,left_on='ID',right_on='ID').merge(C,left_on='ID',right_on='ID').rename({'Val_x':'Val_A','Val_y':'Val_B','Val':'Val_C'})
df['flag']=0
df.loc[(df['Val_A']==df['Val_B']) & (df['Val_B']==df['Val_C']),'flag']=1
标志列是您想要的。
添加回答
举报
0/150
提交
取消