Метод drop_duplicates
Метод drop_duplicates применяется к Index
и возвращает новый индекс с удаленными дубликатами.
По умолчанию сохраняется первое вхождение каждого значения,
остальные удаляются. Метод полезен для очистки индексов
от повторяющихся элементов перед дальнейшими операциями.
Синтаксис
index.drop_duplicates([keep])
Параметр keep определяет, какие дубликаты сохранять:
'first' (значение по умолчанию) - сохранять первое вхождение,
'last' - сохранять последнее вхождение,
False - удалять все дубликаты, оставляя только уникальные значения.
Пример
Давайте создадим индекс с повторяющимися значениями и удалим дубликаты с сохранением первого вхождения:
import pandas as pd
idx = pd.Index([1, 2, 2, 3, 3, 3, 4])
res = idx.drop_duplicates()
print(res)
Результат выполнения кода:
Index([1, 2, 3, 4], dtype='int64')
Пример
Теперь удалим дубликаты с сохранением последнего вхождения.
Для этого передадим параметр keep со значением 'last':
import pandas as pd
idx = pd.Index(['a', 'b', 'b', 'c', 'c', 'c', 'd'])
res = idx.drop_duplicates(keep='last')
print(res)
Результат выполнения кода:
Index(['a', 'b', 'c', 'd'], dtype='object')
Пример
Удалим все дубликаты, оставив только уникальные значения.
Для этого используем keep=False:
import pandas as pd
idx = pd.Index([1, 1, 2, 2, 3, 4, 4, 5])
res = idx.drop_duplicates(keep=False)
print(res)
Результат выполнения кода:
Index([3, 5], dtype='int64')
Как видно, значения, которые встречались более одного раза, были полностью удалены из индекса.
Пример
Метод также работает с индексом, содержащим строки. Рассмотрим пример с повторяющимися строковыми значениями:
import pandas as pd
idx = pd.Index(['abcde', 'article', 'user', 'article', 'data.csv', 'user'])
res = idx.drop_duplicates(keep='first')
print(res)
Результат выполнения кода:
Index(['abcde', 'article', 'user', 'data.csv'], dtype='object')
Смотрите также
-
метод
duplicated,
который возвращает булев массив с указанием дубликатов -
метод
unique,
который возвращает массив уникальных значений индекса -
метод
drop,
который удаляет указанные элементы из индекса -
атрибут
is_unique,
который проверяет, содержит ли индекс уникальные значения