pandas.duplicated()是Pandas库中的一个函数,用于查找和标记重复值。它返回一个布尔值的数组,指示每个元素是否为重复项。
语法:
pandas.duplicated(subset=None, keep=’first’)
参数:
首先需要导入Pandas库,并读入数据:
import pandas as pd
df = pd.read_csv('data.csv')
我们来看下data.csv数据文件的内容:
ID | Name | Age |
---|---|---|
101 | John | 25 |
102 | Tom | 26 |
103 | Mary | 25 |
104 | John | 25 |
105 | Lucy | 28 |
106 | John | 25 |
我们可以看到,其中ID为101的John、ID为104的John、以及ID为106的John出现了重复。
现在我们来使用duplicated()函数查找重复项:
df['Duplicated'] = df.duplicated(['Name', 'Age'], keep=False)
在这里,我们使用duplicated()函数,并将keep参数设置为False,即所有重复项都会被标记为True。我们还将返回的结果存储在一个新列“Duplicated”中。我们使用[‘Name’,‘Age’]来指定要查找重复项的列。
现在我们来查看查找到的重复项:
print(df[df['Duplicated']==True])
输出结果为:
ID Name Age Duplicated
0 101 John 25 True
3 104 John 25 True
5 106 John 25 True
我们可以看到,三个John的ID被标记为了True。
现在我们来看另一个示例,假设我们有一个包含学生考试成绩的数据集:
data = {'Name': ['John', 'Mary', 'Tom', 'Lucy', 'John', 'Tom', 'Mary'],
'Maths': [89, 92, 78, 83, 89, 78, 92],
'Physics': [92, 94, 87, 80, 92, 87, 94],
'Chemistry': [85, 83, 82, 79, 85, 82, 83]}
df = pd.DataFrame(data)
我们可以看出,ID为1和5的学生John的考试成绩完全一样,即数学成绩都是89分,物理成绩都是92分,化学成绩都是85分。
现在我们来使用duplicated()函数查找重复项:
df['Duplicated'] = df.duplicated(['Maths', 'Physics', 'Chemistry'], keep=False)
在这里,我们使用duplicated()函数,并将keep参数设置为False,即所有重复项都会被标记为True。我们还将返回的结果存储在一个新列“Duplicated”中。我们使用[‘Maths’,‘Physics’,‘Chemistry’]来指定要查找重复项的列。
现在我们来查看查找到的重复项:
print(df[df['Duplicated']==True])
输出结果为:
Name Maths Physics Chemistry Duplicated
0 John 89 92 85 True
4 John 89 92 85 True
我们可以看到,John的ID为1和5的行被标记为了True,因为他们的考试成绩完全一样。这可以帮助我们更轻松地查找并删除重复的数据。
本文链接:http://task.lmcjl.com/news/17726.html