Panda在列值上的数据帧之间存在差异

Pep*_*zza 1 python dataframe pandas difference

我找不到一种方法来使数据帧具有基于列的2个数据帧的差异.所以基本上:

dfA = ID, val
      1, test
      2, other test

dfB = ID, val
      2, other test
Run Code Online (Sandbox Code Playgroud)

我希望有一个基于列dfC的差异dfA - dfBID

dfC = ID, val
      1, test
Run Code Online (Sandbox Code Playgroud)

Hal*_*Ali 5

合并ID上的数据帧

dfMerged = dfA.merge(dfB, left_on='ID', right_on='ID', how='outer') # defaults to inner join.
Run Code Online (Sandbox Code Playgroud)

在合并的数据框中,使用后缀_x&避免名称冲突,_y以表示左和右源数据帧.

所以,你最终会(最有可能)val_xval_y.然后根据需要比较这些列.例如:

dfMerged['x_y_test'] = dfMerged.val_y == dfMerged.val_x
# gives you a column with a comparison of val_x, val_y.
Run Code Online (Sandbox Code Playgroud)

使用它作为掩码来达到dfC问题所需.