[英]Compare a column in 2 different dataframes in pandas (only 1 column is same in both dataframes)
I have 2 dataframes df1
and df2
and I want to compare 'col1'
of both dataframes and get the rows from df1
where 'col1'
values don't match.我有 2 个数据帧df1
和df2
,我想比较两个数据帧'col1'
并从df1
中获取'col1'
值不匹配的行。 Only 'col1'
is common in both dataframes.只有'col1'
在两个数据帧中很常见。
Suppose I have:假设我有:
df1 = pd.DataFrame({
'col1': range(1, 6),
'col2': range(10, 60, 10),
'col3': [*'abcde']
})
df2 = pd.DataFrame({
'col1': range(1, 4),
'cola': ['Aa', 'bcd', 'h'],
'colb': [12, 'sadf', 'dd']
})
print(df1)
col1 col2 col3
0 1 10 a
1 2 20 b
2 3 30 c
3 4 40 d
4 5 50 e
print(df2)
col1 cola colb
0 1 Aa 12
1 2 bcd sadf
2 3 h dd
I want to get:我想得到:
col1 col2 col3
0 4 40 d
1 5 50 e
df1.append(df1.merge(df2.col1)).drop_duplicates(keep=False)
col1 col2 col3
3 4 40 d
4 5 50 e
Just use this:-只需使用这个: -
df1[~df1['col1'].isin(df2['col1'])]
Now if you print above code you will get your desired output:-现在,如果您打印上面的代码,您将获得所需的 output:-
col1 col2 col3
3 4 40 d
4 5 50 e
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.