Функция Duplicated (), поскольку булева индексация генерирует другой результат, сравнивается с drop_duplicates - PullRequest
0 голосов
/ 01 января 2019

Фрейм данных выглядит следующим образом:

df = pd.DataFrame({'k1':['one']*3 + ['two']*4,'k2':[1,1,2,3,3,4,4]})

Когда я проверяю дубликаты, я получаю логический индекс, выполняя df.duplicated(), затем я использую его в качестве фильтра df[df.duplicated()], который показывает другой результатсравнивается с df.drop_duplicates()

В результате была создана дополнительная строка

2 one 2

1 Ответ

0 голосов
/ 01 января 2019

drop_duplicate удалит все дублирующиеся строки.duplicated вернет значение False для первого элемента и значение True для другой строки дубликатов, если у него есть дубликат, поэтому они являются различными целевыми функциями для другой задачи.

df.duplicated()
0    False
1     True
2    False
3    False
4     True
5    False
6     True
dtype: bool

df.drop_duplicates()
    k1  k2
0  one   1
2  one   2
3  two   3
5  two   4

Как сделатьвывод такой же?

Проверьте уникальное значение

df[~df.duplicated(keep=False)]
    k1  k2
2  one   2

df.drop_duplicates(keep=False)
    k1  k2
2  one   2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...