Pandas: как удалить дубликаты в нескольких столбцах


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

Метод 1: удалить дубликаты во всех столбцах

df.drop_duplicates ()

Способ 2: удалить дубликаты в определенных столбцах

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

В следующих примерах показано, как использовать каждый метод на практике со следующими пандами DataFrame:

import pandas as pd

#create DataFrame
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, поскольку они имели повторяющиеся значения в области и столбцах хранилища .

Примечание.Полную документацию по функции drop_duplicates() можно найти здесь .

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

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

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

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.