比较来自多个数据帧的单元格

我不确定如何利用熊猫来解决这个问题。我正在尝试将一个数据帧中的每个ID的值与其他数据帧进行比较。下面是一个示例。


Data Frame A        Data Frame B        Data Frame C

      ID    Val           ID    Val         ID      Val

0     12345 10      0     12345 11      0   12345   11

1     23456 12      1     23456 12      1   23456   12

2     34567 13      2     34567 13      2   34567   13

3     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中不存在,因此将被忽略。


我已经想到了一些方法来执行此操作,但是它涉及字典和列表。我想看看是否有办法通过继续利用熊猫来更好地做到这一点。


ITMISS
浏览 147回答 1
1回答

喵喵时光机

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']=0df.loc[(df['Val_A']==df['Val_B']) & (df['Val_B']==df['Val_C']),'flag']=1标志列是您想要的。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python