Як знайти дублікати в pandas dataframe (з прикладами)


Ви можете використовувати функцію duplicated() , щоб знайти повторювані значення в pandas DataFrame.

Ця функція використовує такий базовий синтаксис:

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

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

Наступні приклади показують, як використовувати цю функцію на практиці з такими pandas DataFrame:

 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: Знайдіть повторювані рядки в стовпці

Наступний код показує, як знайти повторювані рядки лише в стовпці “team” 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

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *