Самый простой способ удалить повторяющиеся строки в кадре данных pandas — использовать функцию drop_duplicates() , которая использует следующий синтаксис:
df.drop_duplicates (подмножество = нет, сохранить = «первый», inplace = ложь)
куда:
- подмножество: какие столбцы следует учитывать для выявления дубликатов. По умолчанию все столбцы.
- keep: Указывает, какие дубликаты (если они есть) нужно сохранить.
- first: удалить все повторяющиеся строки, кроме первой.
- last: удалить все повторяющиеся строки, кроме последней.
- False : удалить все дубликаты.
- inplace: указывает, следует ли удалить дубликаты на месте или вернуть копию DataFrame.
В этом руководстве представлено несколько примеров практического использования этой функции в следующем кадре данных:
import pandas as pd
#create DataFrame
df = pd.DataFrame({'team': ['a', 'b', 'b', 'c', 'c', 'd'],
'points': [3, 7, 7, 8, 8, 9],
'assists': [8, 6, 7, 9, 9, 3]})
#display DataFrame
print(df)
team points assists
0 a 3 8
1 b 7 6
2 b 7 7
3 c 8 9
4 c 8 9
5 d 9 3
Пример 1. Удаление дубликатов во всех столбцах
В следующем коде показано, как удалить строки с повторяющимися значениями во всех столбцах:
df.drop_duplicates ()
team points assists
0 a 3 8
1 b 7 6
2 b 7 7
3 c 8 9
5 d 9 3
По умолчанию функция drop_duplicates() удаляет все дубликаты, кроме первого.
Однако мы могли бы использовать аргумент keep=False для полного удаления всех дубликатов:
df.drop_duplicates (keep= False )
team points assists
0 a 3 8
1 b 7 6
2 b 7 7
5 d 9 3
Пример 2. Удаление дубликатов в определенных столбцах
В следующем коде показано, как удалить строки с повторяющимися значениями только в столбцах с названиями team и points :
df.drop_duplicates (subset=['team', 'points'])
team points assists
0 a 3 8
1 b 7 6
3 c 8 9
5 d 9 3
Дополнительные ресурсы
Как удалить повторяющиеся столбцы в Pandas
Как сортировать значения в Pandas DataFrame
Как фильтровать кадр данных Pandas по нескольким условиям
Как вставить столбец в фрейм данных Pandas