Создайте новый фрейм данных только с дублированными строками - PullRequest
0 голосов
/ 23 января 2020

Я хотел бы иметь новый фрейм данных только с строками, которые были дублированы в предыдущем df. Я попытался назначить новый столбец, который будет истинным, если есть дубликаты, а затем выбрать только те строки, которые являются истинными. Однако я получил 0 лиц. Я уверен, что у меня есть дубликаты в df. Я хочу сохранить в старом фрейме данных первые строки и удалить все остальные дубликаты. Столбец с повторяющимися значениями называется «объединенным»

df=df.assign(
    is_duplicate= lambda d: d.duplicated()
).sort_values('merged').reset_index(drop=True)
df2= df.loc[df['is_duplicate'] == 'True']

Ответы [ 2 ]

0 голосов
/ 23 января 2020

Это не строки, а логические значения, поэтому используйте:

df2 = df.loc[df['is_duplicate']]
0 голосов
/ 23 января 2020

Я думаю, вам нужно удалить boolean indexing, loc:

df[df.duplicated()]

Или ваше решение нельзя использовать с .reset_index(drop=True), потому что затем отфильтровываются другие строки, Также сортировка должна быть лучше до или после решения:

df = df.assign(is_duplicate= lambda d: d.duplicated())
df2= df[df['is_duplicate']]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...