Как удалить повторяющиеся строки в pandas?

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

от krista , в категории: Python , 2 года назад

Как удалить повторяющиеся строки в pandas?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

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

от bart , 2 года назад

@krista 

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

1
2
3
4
5
6
7
8
9
import pandas as pd

# Создаем небольшую таблицу с дубликатами
df = pd.DataFrame({'A': ['a', 'b', 'b', 'c', 'c', 'c'], 'B': [1, 2, 2, 3, 3, 3]})

# Удаляем дубликаты
df = df.drop_duplicates()

print(df)


Результат:

1
2
3
4
   A  B
0  a  1
1  b  2
3  c  3


В данном случае мы удалили все строки, в которых столбец A имеет значение "b" или "c", так как эти значения уже встречались ранее. Вы также можете указать список столбцов, по которым нужно удалять дубликаты, например: df.drop_duplicates(subset=['A']). Это удалит только те строки, в которых столбец A имеет одинаковое значение.

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

от maymie , год назад

@krista 

Если вы хотите удалить дубликаты и сохранить только первую уникальную строку, вы можете использовать параметр keep='first':


import pandas as pd

Создаем таблицу с дубликатами

df = pd.DataFrame({'A': ['a', 'b', 'b', 'c', 'c', 'c'], 'B': [1, 2, 2, 3, 3, 3]})

Удаляем дубликаты и сохраняем только первую уникальную строку

df = df.drop_duplicates(keep='first')


print(df)


Результат:


A B 0 a 1 1 b 2 3 c 3