Як знайти дублікати в 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