Как удалить повторяющиеся строки в dataframe pandas
Самый простой способ удалить повторяющиеся строки в DataFrame pandas — использовать функцию drop_duplications() , которая использует следующий синтаксис:
df.drop_duulates(subset=None, Keep=’first’, inplace=False)
Золото:
- подмножество: какие столбцы следует учитывать для выявления дубликатов. По умолчанию — все столбцы.
- Keep: указывает, какие дубликаты (если есть) следует сохранить.
- first: удалите все повторяющиеся строки, кроме первой.
- последний: удаляет все повторяющиеся строки, кроме последней.
- Ложь : удалить все дубликаты.
- inplace: указывает, следует ли удалять дубликаты на месте или возвращать копию DataFrame.
В этом руководстве представлено несколько примеров практического использования этой функции в следующем DataFrame:
import pandas as pd #createDataFrame 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 to 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 to 3 8
1 b 7 6
2 b 7 7
3 c 8 9
5 d 9 3
По умолчанию функция drop_duulates() удаляет все дубликаты, кроме первого.
Однако мы могли бы использовать аргумент Keep=False для полного удаления всех дубликатов:
df. drop_duplicates (keep= False ) team points assists 0 to 3 8 1 b 7 6 2 b 7 7 5 d 9 3
Пример 2. Удаление дубликатов в определенных столбцах
Следующий код показывает, как удалить строки с повторяющимися значениями только в столбцах, помеченных командой и точками :
df. drop_duplicates (subset=[' team ', ' points ']) team points assists 0 to 3 8 1 b 7 6 3 c 8 9 5 d 9 3
Дополнительные ресурсы
Как удалить повторяющиеся столбцы в Pandas
Как сортировать значения в DataFrame Pandas
Как фильтровать DataFrame Pandas по нескольким условиям
Как вставить столбец в DataFrame Pandas