pandas.DataFrame.duplicated#
- DataFrame.duplicated(subset=None, keep='first')[源代码]#
返回表示重复行的布尔 Series。
考虑特定列是可选的。
- Parameters:
- subset列标签或标签序列,可选
仅考虑特定列来识别重复项,默认使用所有列。
- keep{‘first’, ‘last’, False}, 默认 ‘first’
确定要标记(或不标记)的重复项。
first: 标记重复项为True,但保留第一次出现的。last: 标记重复项为True,但保留最后一次出现的。False : 标记所有重复项为
True。
- Returns:
- Series
每行是否重复的布尔 Series。
参见
Index.duplicated索引上的等效方法。
Series.duplicatedSeries 上的等效方法。
Series.drop_duplicates从 Series 中删除重复值。
DataFrame.drop_duplicates从 DataFrame 中删除重复值。
Examples
考虑包含拉面评分的数据集。
>>> 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