🐼 Как избавиться от дубликатов в pandas: простые способы

Как убрать дубликаты с помощью pandas?

Для удаления дубликатов в pandas можно использовать метод drop_duplicates(). Он позволяет удалить строки, содержащие повторяющиеся значения в указанных столбцах или во всем DataFrame.

import pandas as pd

# Создаем DataFrame с дубликатами
data = {'имя': ['Анна', 'Мария', 'Иван', 'Алексей', 'Мария'],
        'возраст': [20, 25, 30, 25, 25],
        'город': ['Москва', 'Санкт-Петербург', 'Москва', 'Казань', 'Санкт-Петербург']}

df = pd.DataFrame(data)

# Удаляем дубликаты по столбцам 'имя' и 'возраст'
df = df.drop_duplicates(subset=['имя', 'возраст'])

print(df)

В результате будет выведена новая версия DataFrame, в которой дубликаты будут удалены. В данном примере будут удалены строки с именами "Мария" и возрастом 25.

Используя метод drop_duplicates() вы можете указать другие столбцы, по которым нужно удалять дубликаты, или не указывать их вообще, чтобы удалять дубликаты по всем столбцам DataFrame.

Детальный ответ

pandas: как убрать дубликаты

При работе с данными в Python, библиотека pandas предоставляет нам мощные инструменты для манипуляции и анализа данных. Одна из распространенных задач в обработке данных - удаление дубликатов. В этой статье мы рассмотрим, как использовать pandas для убирания дубликатов в DataFrame.

Понимание дубликатов

Прежде чем начать, важно понять, что такое дубликаты в данных. Дубликаты - это строки или записи в данных, которые полностью повторяют друг друга. Они могут возникать из-за множества причин, например, ошибок ввода, проблем в процессе сбора данных или неправильного объединения данных из разных источников.

Проверка наличия дубликатов

Для начала давайте убедимся, что наши данные действительно содержат дубликаты. В pandas мы можем использовать метод duplicated() для определения наличия дубликатов в DataFrame. Этот метод возвращает булево значение для каждой строки, указывая, является ли эта строка дубликатом или нет.


import pandas as pd

# Создаем DataFrame с дубликатами
data = {'Name': ['John', 'Jane', 'John', 'Alex'],
        'Age': [25, 30, 25, 35]}
df = pd.DataFrame(data)

# Проверяем наличие дубликатов
duplicates = df.duplicated()
print(duplicates)
    

Результат будет следующим:


0    False
1    False
2     True
3    False
dtype: bool
    

Из результатов видно, что вторая строка является дубликатом. Она полностью повторяет первую строку. Осталось только удалить этот дубликат.

Удаление дубликатов

Для удаления дубликатов в pandas мы можем использовать метод drop_duplicates(). Этот метод удаляет все дубликаты в DataFrame, оставляя только уникальные строки.


# Удаляем дубликаты
df_no_duplicates = df.drop_duplicates()

# Проверяем результат
print(df_no_duplicates)
    

Результат будет следующим:


   Name  Age
0  John   25
1  Jane   30
3  Alex   35
    

Как видно из результатов, дубликат был успешно удален, и результатом является DataFrame без дубликатов.

Удаление дубликатов по определенному столбцу

Иногда мы хотим удалить дубликаты только по определенному столбцу. Для этого мы можем указать имя столбца в методе drop_duplicates().


# Удаляем дубликаты только по столбцу 'Name'
df_no_duplicates_name = df.drop_duplicates(subset='Name')

# Проверяем результат
print(df_no_duplicates_name)
    

Результат будет следующим:


   Name  Age
0  John   25
1  Jane   30
3  Alex   35
    

В данном случае дубликаты были удалены только по столбцу 'Name', и остались только уникальные значения.

Сохранение изменений

После удаления дубликатов важно сохранить изменения в DataFrame, чтобы они отразились в дальнейшей работе с данными.


# Сохраняем изменения в исходном DataFrame
df.drop_duplicates(inplace=True)

# Проверяем результат
print(df)
    

Результат будет следующим:


   Name  Age
0  John   25
1  Jane   30
3  Alex   35
    

Метод drop_duplicates() с аргументом inplace=True сохраняет изменения непосредственно в исходном DataFrame, без необходимости создавать новый DataFrame.

Заключение

В этой статье мы рассмотрели, как использовать pandas для удаления дубликатов в DataFrame. Мы узнали, как проверить наличие дубликатов, как удалить все дубликаты и как удалить дубликаты по определенному столбцу. Кроме того, мы обсудили важность сохранения изменений для последующей работы с данными.

Убирание дубликатов в данных - важная задача при обработке больших объемов информации. Благодаря библиотеке pandas и ее инструментам, мы можем легко и эффективно убирать дубликаты и работать с чистыми данными.

Видео по теме

Семинар 1 - удаление дубликатов из списка

Как удалить дубликаты в массиве при помощи Python | Задача LeetCode

Фильтрация данных в Pandas | Анатолий Карпов | karpov.courses

Похожие статьи:

🐼 Как избавиться от дубликатов в pandas: простые способы

Что такое axis в pandas? Узнайте важную информацию о оси в библиотеке pandas!