Pandas: як видалити дублікати в кількох стовпцях


Ви можете використовувати такі методи, щоб видалити повторювані рядки в кількох стовпцях у pandas DataFrame:

Спосіб 1: видаліть дублікати в усіх стовпцях

 df. drop_duplicates ()

Спосіб 2. Видаліть дублікати в певних стовпцях

 df. drop_duplicates ([' column1 ',' column3 '])

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

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' region ': ['East', 'East', 'East', 'West', 'West', 'West'],
                   ' store ': [1, 1, 2, 1, 2, 2],
                   ' sales ': [5, 5, 7, 9, 12, 8]})

#view DataFrame
print (df)

  region store sales
0 East 1 5
1 East 1 5
2 East 2 7
3 West 1 9
4 West 2 12
5 West 2 8

Приклад 1: видалення дублікатів у всіх стовпцях

Наступний код показує, як видалити рядки з повторюваними значеннями у всіх стовпцях:

 #drop rows that have duplicate values across all columns
df. drop_duplicates ()

	region store sales
0 East 1 5
2 East 2 7
3 West 1 9
4 West 2 12
5 West 2 8

Рядок у позиції індексу 1 мав ті самі значення в усіх стовпцях, що й рядок у позиції індексу 0, тому її було видалено з DataFrame.

За замовчуванням pandas зберігає перший рядок як дублікат. Однак ви можете використовувати аргумент keep , щоб вказати, що потрібно зберегти останній повторюваний рядок:

 #drop rows that have duplicate values across all columns (keep last duplicate)
df. drop_duplicates (keep=' last ')

	region store sales
1 East 1 5
2 East 2 7
3 West 1 9
4 West 2 12
5 West 2 8

Приклад 2. Видалення дублікатів у певних стовпцях

Ви можете використовувати наступний код, щоб видалити рядки з повторюваними значеннями лише в регіоні та стовпцях магазину :

 #drop rows that have duplicate values across region and store columns
df. drop_duplicates ([' region ',' store '])

	region store sales
0 East 1 5
2 East 2 7
3 West 1 9
4 West 2 12

Загалом з DataFrame було видалено два рядки, оскільки вони містили повторювані значення в стовпцях Region і Store .

Примітка . Повну документацію щодо функції drop_duplicates() можна знайти тут .

Додаткові ресурси

У наступних посібниках пояснюється, як виконувати інші типові операції в pandas:

Як знайти дублікати в пандах
Як видалити дублікати стовпців у Pandas
Як видалити перший рядок у Pandas DataFrame

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

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