Python无法识别重复项

时间:2019-12-13 10:28:11

标签: python python-3.x pandas merge

我拥有的2个数据集的前5行的示例快照 Emp1数据框:

Name
--------
John
Matt
Anish
Dave
Mike

Emp2数据框:

Name
--------
Sue
Matt
Raj
Dave
Simon

我将两者串联(以防万一,将它们转换为对象)

 Con=pd.concat(emp1.astype(str),emp2.astype(str))
Con
Name
-----
John
Matt
Anish
Dave
Mike
Sue
Matt
Raj
Dave
Simon

但是,由于某些原因,python似乎不认为Matt和Dave是重复的

Con.duplicated()
False
False
False
False
False
False
False
False
False
False

我也尝试使用pd.merge进行外部联接,但仍然无法识别重复项。我想将主Emp1与Emp2进行比较,并找出Emp1中哪些名称不在Emp2中。因此,我的逻辑是将两者合并/串联,然后选择不重复的值。数据是从excel读取的。

非常感谢

2 个答案:

答案 0 :(得分:2)

可能存在一些尾随空格,因此将其删除:

df1['name'] = df1['name'].str.strip()
df2['name'] = df2['name'].str.strip()

答案 1 :(得分:0)

我重复了您的步骤:

> import pandas as pd
> df1 = pd.DataFrame({"Name": ["John", "Matt", "Anish", "Dave", "Mike"]})
> df2 = pd.DataFrame({"Name": ["Sue", "Matt", "Raj", "Dave", "Simon"]})
> df3 = pd.concat([df1, df2])
> df3.duplicated()
0    False
1    False
2    False
3    False
4    False
0    False
1     True
2    False
3     True
4    False
dtype: bool
相关问题