pandas.DataFrame.duplicated#

DataFrame.duplicated(subset=None, keep='first')[源代码][源代码]#

返回表示重复行的布尔序列。

考虑某些列是可选的。

参数:
子集列标签或标签的可迭代对象,可选

默认情况下使用所有列来识别重复项,但也可以仅考虑某些列。

保持{‘first’, ‘last’, False}, 默认 ‘first’

确定要标记哪些重复项(如果有)。

  • first : 将重复项标记为 True ,除了第一次出现。

  • last : 将重复项标记为 True ,除了最后一次出现。

  • False : 将所有重复项标记为 True

返回:
系列

每个重复行的布尔序列。

参见

Index.duplicated

index上的等效方法

Series.duplicated

Series 上的等效方法。

Series.drop_duplicates

从 Series 中移除重复值。

DataFrame.drop_duplicates

从 DataFrame 中删除重复值。

示例

考虑包含拉面评分的数据集。

>>> df = pd.DataFrame(
...     {
...         "brand": ["Yum Yum", "Yum Yum", "Indomie", "Indomie", "Indomie"],
...         "style": ["cup", "cup", "cup", "pack", "pack"],
...         "rating": [4, 4, 3.5, 15, 5],
...     }
... )
>>> df
    brand style  rating
0  Yum Yum   cup     4.0
1  Yum Yum   cup     4.0
2  Indomie   cup     3.5
3  Indomie  pack    15.0
4  Indomie  pack     5.0

默认情况下,对于每组重复的值,第一次出现设置为 False,所有其他设置为 True。

>>> df.duplicated()
0    False
1     True
2    False
3    False
4    False
dtype: bool

通过使用 ‘last’,每组重复值的最后一次出现被设置为 False,所有其他出现被设置为 True。

>>> df.duplicated(keep="last")
0     True
1    False
2    False
3    False
4    False
dtype: bool

通过将 keep 设置为 False,所有重复项都为 True。

>>> df.duplicated(keep=False)
0     True
1     True
2    False
3    False
4    False
dtype: bool

要在特定列中查找重复项,请使用 subset

>>> df.duplicated(subset=["brand"])
0    False
1     True
2    False
3     True
4     True
dtype: bool