发现熊猫中两个数据框的区别和并置

时间:2018-07-16 05:19:57

标签: python pandas dataframe

我有2个数据帧,它们具有相同的4个字段,并且仅在第4个字段下它们可以具有也可以不具有不同的值。如何创建具有五个字段的新数据框,其中仅存储具有不同值的条目,并且第4列和第5列显示相应的对比值?

1 个答案:

答案 0 :(得分:1)

我认为需要先通过join创建一个DaatFrame,然后通过boolean indexing进行过滤:

df1 = pd.DataFrame({'a': [1, 2, 2], 'b': [10, 17, 2], 'c': [0, 2, 0], 'd': list('adb')})
print (df1)
   a   b  c  d
0  1  10  0  a
1  2  17  2  d
2  2   2  0  b

df2 = pd.DataFrame({'a': [1, 2, 2], 'b': [10, 17, 2], 'c': [0, 2, 0], 'd': list('edc')})
print (df2)
   a   b  c  d
0  1  10  0  e
1  2  17  2  d
2  2   2  0  c

df = df1.join(df2[['d']], rsuffix='_')
print (df)
   a   b  c  d d_
0  1  10  0  a  e
1  2  17  2  d  d
2  2   2  0  b  c

df = df[df['d'] != df['d_']]
print (df)   
   a   b  c  d d_
0  1  10  0  a  e
2  2   2  0  b  c