pandas.DataFrame.duplicated#

DataFrame.duplicated(subset=None, keep='first')[источник]#

Возвращает булеву Series, обозначающую дублирующиеся строки.

Учет определенных столбцов является опциональным.

Параметры:
subsetметка столбца или последовательность меток, опционально

Учитывать только определенные столбцы для идентификации дубликатов, по умолчанию используются все столбцы.

keep{‘first’, ‘last’, False}, по умолчанию ‘first’

Определяет, какие дубликаты (если есть) отметить.

  • first : Отметить дубликаты как True кроме первого вхождения.

  • last : Отметить дубликаты как True кроме последнего вхождения.

  • False : Пометить все дубликаты как True.

Возвращает:
Series

Булевый ряд для каждой дублированной строки.

Смотрите также

Index.duplicated

Эквивалентный метод для индекса.

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