关键词

详解pandas.duplicated()(检测重复值)函数使用方法

pandas.duplicated()是Pandas库中的一个函数,用于查找和标记重复值。它返回一个布尔值的数组,指示每个元素是否为重复项。

使用方法

语法:

pandas.duplicated(subset=None, keep=’first’)

参数:

  • subset: 可选,用于标识重复项的列名或列名列表。默认情况下,它比较整个行。
  • keep: 可选,标记重复项的方式。如果为’first’,表示第一个出现的项不会被标记为重复;如果为’last’,则最后出现的项不会被标记为重复;如果为False,则所有重复项都会标记为True。默认为’first’。

示例1

首先需要导入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。

示例2

现在我们来看另一个示例,假设我们有一个包含学生考试成绩的数据集:

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

展开阅读全文