Как найти дубликаты в dataframe pandas (с примерами)


Вы можете использовать функцию Duplied() для поиска повторяющихся значений в DataFrame pandas.

Эта функция использует следующий базовый синтаксис:

 #find duplicate rows across all columns
duplicateRows = df[df. duplicated ()]

#find duplicate rows across specific columns
duplicateRows = df[df. duplicated ([' col1 ',' col2 '])]

В следующих примерах показано, как использовать эту функцию на практике со следующим DataFrame pandas:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'],
                   ' points ': [10, 10, 12, 12, 15, 17, 20, 20],
                   ' assists ': [5, 5, 7, 9, 12, 9, 6, 6]})

#view DataFrame
print (df)

  team points assists
0 to 10 5
1 to 10 5
2 to 12 7
3 to 12 9
4 B 15 12
5 B 17 9
6 B 20 6
7 B 20 6

Пример 1. Найдите повторяющиеся строки во всех столбцах.

Следующий код показывает, как найти повторяющиеся строки во всех столбцах DataFrame:

 #identify duplicate rows
duplicateRows = df[df. duplicated ()]

#view duplicate rows
duplicateRows

        team points assists
1 to 10 5
7 B 20 6

Есть две строки, которые являются точными копиями других строк в DataFrame.

Обратите внимание, что мы также можем использовать аргумент Keep=’last’ для отображения первых повторяющихся строк вместо последних:

 #identify duplicate rows
duplicateRows = df[df. duplicated (keep=' last ')]

#view duplicate rows
print (duplicateRows)

	team points assists
0 to 10 5
6 B 20 6

Пример 2. Найдите повторяющиеся строки в определенных столбцах.

Следующий код показывает, как найти повторяющиеся строки только в столбцах «команда» и «баллы» DataFrame:

 #identify duplicate rows across 'team' and 'points' columns
duplicateRows = df[df. duplicated ([' team ',' points '])]

#view duplicate rows
print (duplicateRows)

        team points assists
1 to 10 5
3 to 12 9
7 B 20 6

Есть три строки, где значения в столбцах «команда» и «очки» являются точными копиями предыдущих строк.

Пример 3. Найдите повторяющиеся строки в столбце.

Следующий код показывает, как найти повторяющиеся строки только в столбце «команда» DataFrame:

 #identify duplicate rows in 'team' column
duplicateRows = df[df. duplicated ([' team '])]

#view duplicate rows
print (duplicateRows)

	team points assists
1 to 10 5
2 to 12 7
3 to 12 9
5 B 17 9
6 B 20 6
7 B 20 6

Всего имеется шесть строк, где значения в столбце «команда» являются точными дубликатами предыдущих строк.

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные операции в pandas:

Как удалить повторяющиеся строки в Pandas
Как удалить повторяющиеся столбцы в Pandas
Как выбрать столбцы по индексу в Pandas

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *