Skip to main content
 首页 » 编程设计

python之Pandas :无法检测两列中的重复项

2025年05月04日24sky-heaven

我正在尝试从两列中删除重复项。如下所示,阿拉巴马州和阿拉斯加。

但是,当我在下面查询时,它没有检测到重复项。当我使用 drop_duplicates() 时也是如此。我检查过没有空格,因为它们的字符长度也相同。有谁知道出了什么问题吗?

编辑:在下面添加了示例代码。结果是一样的,没有空格,无法检测到重复项。

list1=['Alabama','Alabama','Alabama','Alabama','Alaska'] 
list2=['Alabama','Auburn','Florence','Jacksonville','Alaska'] 
df=pd.DataFrame(list1, columns=['States']) 
df['Region']=pd.DataFrame(list2) 
 
df.duplicated() 

请您参考如下方法:

我想你需要ne用于比较列:

df[df['States'].ne(df['Region'])] 

时间:

df = pd.concat([df]*100000).reset_index(drop=True) 
 
In [353]: %timeit (df[df['States'].ne(df['Region'])]) 
10 loops, best of 3: 23.7 ms per loop 
 
In [354]: %timeit (df[df['States'] != df['Region']]) 
10 loops, best of 3: 88.6 ms per loop