Как работает функция drop_duplicates в Pandas?

При использовании метода drop_duplicates() в Pandas, он удаляет повторяющиеся строки из DataFrame. Этот метод основывается на значениях в указанных столбцах или на всех столбцах, если не указаны. Вот простой пример кода:

    import pandas as pd
    
    # Создание DataFrame с повторяющимися строками
    df = pd.DataFrame({'A': [1, 2, 2, 3, 4, 4],
                       'B': ['a', 'b', 'b', 'c', 'd', 'd']})
                       
    # Удаление повторяющихся строк
    df = df.drop_duplicates()
    
    print(df)
    
В этом примере строки с индексами 2 и 4 будут удалены, так как они дублируются. Метод drop_duplicates() может быть полезен, когда необходимо удалить повторяющиеся данные перед анализом или обработкой данных в Pandas.

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

Понимание работы drop_duplicates в Pandas

Метод drop_duplicates в библиотеке Pandas предоставляет возможность удаления дубликатов из DataFrame или Series. Он помогает очистить данные от повторяющихся значений и сосредоточиться на уникальных значениях, что может быть полезно при анализе данных и предобработке.

Синтаксис

Синтаксис метода drop_duplicates в Pandas выглядит следующим образом:


    DataFrame.drop_duplicates(subset=None, keep='first', inplace=False)
    

Где:

  • subset (по умолчанию None) - опциональный параметр, позволяющий указать конкретные столбцы или столбец для проверки на дубликаты. Если не указан, метод будет проверять все столбцы.
  • keep (по умолчанию 'first') - параметр, определяющий, какой из повторяющихся значений нужно оставить. Варианты значения параметра:
    • 'first' - оставить первое уникальное значение (по умолчанию).
    • 'last' - оставить последнее уникальное значение.
    • False - удалить все дубликаты.
  • inplace (по умолчанию False) - параметр, определяющий, следует ли изменять исходный DataFrame или создавать новый DataFrame с удаленными дубликатами.

Примеры

Давайте рассмотрим несколько примеров, чтобы лучше понять, как работает метод drop_duplicates.

Пример 1: Удаление дубликатов из DataFrame

Предположим, у нас есть следующий DataFrame:


    import pandas as pd
    
    data = {
        'Name': ['John', 'Alice', 'John', 'Bob', 'Alice'],
        'Age': [25, 28, 25, 30, 28]
    }
    
    df = pd.DataFrame(data)
    print(df)
    

Результат:


       Name  Age
    0  John   25
    1 Alice   28
    2  John   25
    3   Bob   30
    4 Alice   28
    

Используем метод drop_duplicates, чтобы удалить дубликаты:


    df.drop_duplicates(inplace=True)
    print(df)
    

Результат:


       Name  Age
    0  John   25
    1 Alice   28
    3   Bob   30
    

В этом примере мы использовали параметр inplace=True, чтобы изменить исходный DataFrame df. После удаления дубликатов значения столбца "Name" стали уникальными.

Пример 2: Удаление дубликатов из Series

Предположим, у нас есть следующая Series:


    import pandas as pd
    
    data = pd.Series([1, 2, 2, 3, 4, 4, 5])
    print(data)
    

Результат:


    0    1
    1    2
    2    2
    3    3
    4    4
    5    4
    6    5
    dtype: int64
    

Используем метод drop_duplicates, чтобы удалить дубликаты:


    data.drop_duplicates(inplace=True)
    print(data)
    

Результат:


    0    1
    1    2
    3    3
    4    4
    6    5
    dtype: int64
    

В этом примере мы также использовали параметр inplace=True, чтобы изменить исходную Series data. После удаления дубликатов значения стали уникальными.

Заключение

В этой статье мы рассмотрели, как работает метод drop_duplicates в Pandas. Мы обсудили его синтаксис и рассмотрели примеры удаления дубликатов из DataFrame и Series. Этот метод является мощным инструментом для очистки данных от повторяющихся значений и упрощения дальнейшего анализа данных.

Видео по теме

How to Remove Duplicate Rows in Pandas Dataframe? | GeeksforGeeks

REMOVE DUPLICATES FROM DATAFRAME IN PANDAS

Pandas Part 10 - The drop_duplicates() method

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

Как работает функция drop_duplicates в Pandas?