📅  最后修改于: 2023-12-03 15:18:15.161000             🧑  作者: Mango
当处理数据时,我们有时需要检查数据中是否有重复行,Pandas是一个强大的Python数据处理库,它提供了一种简单的方法来检测重复行并将其删除。
Pandas提供了一个duplicated()
函数来检测重复行,它返回一个布尔值的Series,表示每一行是否是重复行。例如:
import pandas as pd
data = {'name': ['John','Mary','Anna','John','Tom','Anna'], 'age': [25, 36, 29, 25, 42, 29]}
df = pd.DataFrame(data)
print(df.duplicated())
输出:
0 False
1 False
2 False
3 True
4 False
5 True
dtype: bool
在这个例子中,第4行和第5行是重复行。
如果想要查看重复的行,可以使用duplicated()
函数结合loc[]
访问器。例如:
print(df.loc[df.duplicated(), :])
输出:
name age
3 John 25
5 Anna 29
如果想要查看所有的重复行(包括第一次出现的行),可以使用duplicated()
函数结合keep
参数。例如:
print(df[df.duplicated(keep=False)])
输出:
name age
0 John 25
2 Anna 29
3 John 25
5 Anna 29
在这个例子中,我们使用了keep=False
参数,这将返回所有的重复行。
我们可以使用drop_duplicates()
函数来删除重复行。例如:
df = df.drop_duplicates()
print(df)
输出:
name age
0 John 25
1 Mary 36
2 Anna 29
4 Tom 42
在这个例子中,我们删除了重复的行,并返回了一个新的DataFrame。
在这篇文章中,我们介绍了如何使用Pandas检测和显示重复的行,并介绍了如何删除重复的行。Pandas是一个非常强大的数据处理库,它提供了很多方便的函数来帮助我们处理数据。