pandas.DataFrame.drop_duplicates#
- DataFrame.drop_duplicates(subset=None, *, keep='first', inplace=False, ignore_index=False)[источник]#
Возвращает DataFrame с удаленными дублирующимися строками.
Учёт определённых столбцов является опциональным. Индексы, включая временные индексы, игнорируются.
- Параметры:
- subsetметка столбца или последовательность меток, опционально
Учитывать только определенные столбцы для идентификации дубликатов, по умолчанию используются все столбцы.
- keep{‘first’, ‘last’,
False}, по умолчанию 'first' Определяет, какие дубликаты (если есть) сохранить.
'first' : Удалить дубликаты, кроме первого вхождения.
‘last’ : Удалить дубликаты, кроме последнего вхождения.
False: Удалить все дубликаты.
- inplacebool, по умолчанию
False Следует ли изменять DataFrame вместо создания нового.
- ignore_indexbool, по умолчанию
False Если
True, результирующая ось будет помечена как 0, 1, …, n - 1.
- Возвращает:
- DataFrame или None
DataFrame с удалёнными дубликатами или None, если
inplace=True.
Смотрите также
DataFrame.value_countsПодсчитать уникальные комбинации столбцов.
Примеры
Рассмотрим набор данных, содержащий рейтинг рамэна.
>>> 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
По умолчанию удаляет дублирующиеся строки на основе всех столбцов.
>>> df.drop_duplicates() brand style rating 0 Yum Yum cup 4.0 2 Indomie cup 3.5 3 Indomie pack 15.0 4 Indomie pack 5.0
Для удаления дубликатов по определенным столбцам используйте
subset.>>> df.drop_duplicates(subset=['brand']) brand style rating 0 Yum Yum cup 4.0 2 Indomie cup 3.5
Чтобы удалить дубликаты и сохранить последние вхождения, используйте
keep.>>> df.drop_duplicates(subset=['brand', 'style'], keep='last') brand style rating 1 Yum Yum cup 4.0 2 Indomie cup 3.5 4 Indomie pack 5.0