如何将一个数据帧与另一个df进行比较,并使用pandas从第一个df返回新行



我正试图确定测试中的值dataframe (df2)没有出现在另一个DF (df1)(. 以下是两个df:

df1从以下来源创建:

<表类> field1 field2 tbody><<tr>AG)同意SA有点同意DG不同意SD有点不同意没有没有

尝试:

import pandas as pd
# Creating the dataframe
df1_field1 = ['a', 'b', 'c', 'd'] 
df1_field2 = ['a', 'b', 'c', 'd']
df1_field3 = ['a', 'b', 'c', 'd']
df1 = pd.DataFrame(
{'field1':df1_field1,
'field2':df1_field2,
'field3':df1_field3,     
})
df2_field1 = ['a', 'c', 'd', 'e'] 
df2_field2 = ['a', 'c', 'd', 'e']
df2_field3 = ['a', 'c', 'd', 'e']
df2 = pd.DataFrame(
{'field1':df2_field1,
'field2':df2_field2,
'field3':df2_field3,     
})
print(df)
print(df2)
df_all = df2.merge(df1.drop_duplicates(), on=['field1','field2','field3'], 
how='outer', indicator=True)
df_all[df_all['_merge'] == 'left_only']

收益率:

field1 field2 field3
0      a      a      a
1      b      b      b
2      c      c      c
3      d      d      d
field1 field2 field3
0      a      a      a
1      c      c      c
2      d      d      d
3      e      e      e
field1  field2  field3  _merge
3   e   e   e   left_only

正如你所看到的,它是有效的,它只是你在描述中放置的页面中的另一个答案的改编。

相关内容

最新更新