🔍 Как удалить дубликаты строк pandas: простой и эффективный способ
Если вы хотите удалить дубликаты строк в DataFrame с использованием библиотеки pandas, можно воспользоваться методом drop_duplicates(). Этот метод избавит вас от повторяющихся строк и оставит только одну уникальную строку для каждого уникального набора значений столбцов.
Вот пример кода:
import pandas as pd
# Создание DataFrame
data = {'Страна': ['Россия', 'США', 'Канада', 'Россия', 'Австралия'],
'Город': ['Москва', 'Нью-Йорк', 'Торонто', 'Санкт-Петербург', 'Сидней']}
df = pd.DataFrame(data)
# Удаление дубликатов строк
df = df.drop_duplicates()
print(df)
В результате выполнения этого кода будут удалены повторяющиеся строки в DataFrame, и вывод будет содержать только уникальные строки:
Страна Город
0 Россия Москва
1 США Нью-Йорк
2 Канада Торонто
4 Австралия Сидней
Надеюсь, это помогло!
Детальный ответ
Как удалить дубликаты строк в библиотеке pandas
Вам может потребоваться удалить дубликаты строк из датафрейма при работе с библиотекой pandas в Python. Не волнуйтесь, pandas предоставляет удобные методы для выполнения этой задачи, и мы рассмотрим несколько способов удаления дубликатов строк.
Метод drop_duplicates()
Метод drop_duplicates()
позволяет удалить дубликаты строк из датафрейма. Он основан на сравнении значений во всех столбцах и удалении строк с полным совпадением.
import pandas as pd
# Создание примера датафрейма
data = {'Name': ['John', 'Jane', 'John', 'Jane', 'Adam'],
'Age': [25, 30, 25, 30, 35],
'City': ['New York', 'London', 'New York', 'London', 'Paris']}
df = pd.DataFrame(data)
# Удаление дубликатов строк
df.drop_duplicates(inplace=True)
print(df)
В этом примере у нас есть датафрейм с тремя столбцами: Name, Age и City. С помощью метода drop_duplicates()
мы удаляем дубликаты строк, изменяя датафрейм без изменения оригинального объекта. Результат будет содержать только уникальные (не повторяющиеся) строки.
Метод duplicated()
Метод duplicated()
возвращает логический массив, указывающий, являются ли строки дубликатами. Для удаления дубликатов мы можем использовать этот метод в сочетании с индексацией датафрейма для выборки уникальных строк.
import pandas as pd
# Создание примера датафрейма
data = {'Name': ['John', 'Jane', 'John', 'Jane', 'Adam'],
'Age': [25, 30, 25, 30, 35],
'City': ['New York', 'London', 'New York', 'London', 'Paris']}
df = pd.DataFrame(data)
# Удаление дубликатов строк
df = df[~df.duplicated()]
print(df)
В этом примере мы используем метод duplicated()
, чтобы создать логический массив, указывающий, какие строки являются дубликатами. Затем мы инвертируем логический массив, используя оператор ~
, чтобы выбрать только уникальные строки в датафрейме.
Метод keep параметр
Методы drop_duplicates()
и duplicated()
также имеют параметр keep, который позволяет указать, какие строки оставить при удалении дубликатов. По умолчанию значение параметра keep равно 'first', что означает, что будут сохранены только первые встреченные строки, а все последующие дубликаты будут удалены. Вы можете изменить это поведение, чтобы сохранить последние встреченные строки или удалить все дубликаты полностью.
import pandas as pd
# Создание примера датафрейма
data = {'Name': ['John', 'Jane', 'John', 'Jane', 'Adam'],
'Age': [25, 30, 25, 30, 35],
'City': ['New York', 'London', 'New York', 'London', 'Paris']}
df = pd.DataFrame(data)
# Удаление дубликатов строк, сохраняя последние встреченные
df.drop_duplicates(keep='last', inplace=True)
print(df)
В этом примере мы используем метод drop_duplicates()
с параметром keep='last', чтобы сохранить последние встреченные строки и удалить все остальные дубликаты.
Вывод
В этой статье мы рассмотрели несколько способов удаления дубликатов строк в датафрейме с использованием библиотеки pandas в Python. Мы узнали о методах drop_duplicates()
и duplicated()
, а также о параметре keep, который позволяет настраивать поведение при удалении дубликатов. Теперь у вас есть все необходимые инструменты, чтобы эффективно управлять дубликатами строк в ваших данных.