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

  • Post category:Python

pandas.duplicated()方法用于判断DataFrame或Series中的哪些项是重复的。

参数说明:

  • subset(可选参数):指定特定的列,用于判断重复。默认为空(None),表示所有列均相同情况下被认为是重复项。
  • keep(可选参数):在有重复项的情况下,如何处理其余重复项。
  • first(默认值):保留首次出现的项。
  • last: 保留最后一次出现的项。
  • False:所有出现的项都被视为重复项。

可以使用pandas.DataFrame.duplicated()或者pandas.Series.duplicated()来调用该方法。

下面是两个具体的实例:

首先,我们创建一个完整的DataFrame示例,并使用pandas.duplicated()方法查找重复项。

import pandas as pd

# 创建一个DataFrame
df = pd.DataFrame({'A': [1, 2, 3, 3], 'B': [4, 5, 6, 6], 'C': [7, 8, 9, 9]})

# 查找重复项
result = df.duplicated()

# 查看结果
print(result)

运行结果:

0    False
1    False
2    False
3     True
dtype: bool

可以看到,该DataFrame中第4行与第3行的数据完全相同,因此第4行被视为重复项,返回了True。这样的返回结果对于大型数据集尤为有用。

接着,我们使用subset参数来指定特定列进行查找重复项。

import pandas as pd

# 创建一个DataFrame
df = pd.DataFrame({'A': [1, 2, 3, 3], 'B': [4, 5, 6, 5], 'C': [7, 8, 9, 8]})

# 指定 'B' 和 'C' 列进行查找重复项
result = df.duplicated(subset=['B', 'C'])

# 查看结果
print(result)

运行结果:

0    False
1    False
2    False
3     True
dtype: bool

可以看到,该DataFrame中第4行的’B’和’C’列的值与第2行的完全相同,因此第4行被视为重复项,返回了True

在实际开发中,pandas.duplicated()也可以与drop_duplicates()方法一起使用,来删除数据集中的重复项,示例如下:

import pandas as pd

# 创建一个DataFrame
df = pd.DataFrame({'A': [1, 2, 3, 3], 'B': [4, 5, 6, 5], 'C': [7, 8, 9, 8]})

# 删除重复项并保留唯一项
df = df.drop_duplicates()

# 查看结果
print(df)

运行结果:

   A  B  C
0  1  4  7
1  2  5  8
2  3  6  9

可以看到,所有的重复项被移除了,只留下了唯一项。

以上就是pandas.duplicated()方法的作用与使用方法的完整攻略,包括参数说明、示例和删除重复项等。