Pandas DataFrame duplicated() 方法

定义和用法

duplicd() 方法返回包含 True 和 False 值的 Series,这些值描述 DataFrame 中哪些行重复,哪些行不重复。

使用 subset 参数指定在查找重复项时要包含哪些列。默认情况下,包含所有列。

默认情况下,两个或多个重复项的第一次出现将被设置为 False。

keep 参数设置为 False,以将第一次出现也设置为 True。

实例

例子 1

检查哪些行重复,哪些行不重复:

import pandas as pd

data = {
  "name": ["John", "Mary", "John", "Sally", "Mary"],
  "age": [40, 30, 40, 50, 30],
  "city": ["Bergen", "Oslo", "Stavanger", "Oslo", "Oslo"]
}

df = pd.DataFrame(data)

s = df.duplicated()

print(s)

亲自试一试

例子 2

仅包含 "name" 和 "age" 列:

s = df.duplicated(subset=["name", "age"])

print(s)

亲自试一试

例子 3

将所有重复项的出现都设置为 True:

s = df.duplicated(keep=False)

print(s)

亲自试一试

语法

dataframe.duplicated(subset, keep)

参数

参数是关键字参数

参数 描述
subset 列标签

可选。字符串或列表,包含在查找重复项时要包含的列名。

默认 subset=None(意味着未指定子集,并且应包含所有列)。

keep
  • 'first'
  • 'last'
  • False

可选。默认为 'first'。指定如何处理重复项:

  • 'first' 意味着将第一次出现设置为 False,其余设置为 True。
  • 'last' 意味着将最后一次出现设置为 False,其余设置为 True。
  • False 意味着将所有出现都设置为 True。

返回值

Series,其中包含 DataFrame 中每一行的布尔值。