Как удалить дубликаты в python pandas?

Пользователь

от bernardo_nolan , в категории: Python , месяц назад

Как удалить дубликаты в python pandas?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от brooklyn , месяц назад

@bernardo_nolan 

Вы можете использовать метод DataFrame.drop_duplicates() для удаления дубликатов из DataFrame. Например:

1
2
3
4
5
import pandas as pd

df = pd.DataFrame({'A': [1, 2, 2, 3, 4, 5, 5, 5, 6, 7, 7]})
df = df.drop_duplicates()
print(df)


Вывод:

1
2
3
4
5
6
7
8
   A
0  1
1  2
3  3
4  4
5  5
8  6
9  7


По умолчанию drop_duplicates() удаляет все дубликаты, следующие за первыми вхождениями, и оставляет первое вхождение каждого уникального значения. Однако вы можете указать список столбцов, по которым требуется искать дубликаты, с помощью аргумента subset. Например:

1
2
3
4
5
6
import pandas as pd

df = pd.DataFrame({'A': [1, 2, 2, 3, 4, 5, 5, 5, 6, 7, 7],
                   'B': [3, 3, 4, 5, 5, 6, 6, 7, 8, 8, 9]})
df = df.drop_duplicates(subset=['A'])
print(df)


Вывод:

1
2
3
4
5
6
7
8
   A  B
0  1  3
1  2  3
3  3  5
4  4  5
5  5  6
8  6  8
9  7  8


Вы можете также указать, что требуется удалить только повторяющиеся строки, указав значение keep='first' или keep='last'. Это будет