pandas.DataFrame.duplicate #

数据框。重复(子集= None , keep = 'first' ) [来源] #

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

考虑某些列是可选的。

参数
子集列标签或标签序列,可选

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

保留{'first', 'last', False},默认'first'

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

  • first:将重复项标记为True除第一次出现之外的重复项。

  • last:将重复项标记为True除最后一次出现之外的重复项。

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

返回
系列

每个重复行的布尔系列。

也可以看看

Index.duplicated

指数的等效方法。

Series.duplicated

系列上的等效方法。

Series.drop_duplicates

从系列中删除重复值。

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