Как удалить дубликаты в Python pandas? Узнайте с помощью этих полезных методов! 🐼🔥
Для удаления дубликатов в Python Pandas, вы можете использовать метод drop_duplicates().
import pandas as pd
# Создаем DataFrame с дубликатами
data = {'Номер': [1, 2, 3, 1, 4, 2, 5, 3],
'Имя': ['Анна', 'Борис', 'Виктор', 'Анна', 'Даниил', 'Борис', 'Елена', 'Виктор']}
df = pd.DataFrame(data)
# Удаление дубликатов
df.drop_duplicates(inplace=True)
print(df)
Этот код создает DataFrame с дубликатами в столбцах "Номер" и "Имя". Метод drop_duplicates() удаляет все строки, в которых значения во всех столбцах совпадают с другими строками. Результат будет DataFrame без дубликатов.
Детальный ответ
Как удалить дубликаты в Python Pandas
В этой статье мы рассмотрим, как удалить дубликаты из DataFrame с использованием библиотеки Python Pandas. Pandas - мощная библиотека, которая предоставляет простой и удобный способ для работы с данными.
Импортирование библиотеки Pandas
Для начала работы с Pandas необходимо импортировать библиотеку. Выполните следующий код:
import pandas as pd
Создание DataFrame
Для примера создадим DataFrame с несколькими дубликатами. Выполните следующий код:
data = {'Name': ['John', 'Alice', 'Bob', 'John', 'Alice'],
'Age': [25, 30, 35, 25, 30],
'City': ['New York', 'Paris', 'London', 'New York', 'Paris']}
df = pd.DataFrame(data)
Поиск дубликатов
Для поиска дубликатов в DataFrame можно использовать метод duplicated(). Этот метод возвращает логическую серию, которая показывает, является ли каждая строка дубликатом или нет. Выполните следующий код:
duplicates = df.duplicated()
print(duplicates)
Результатом будет следующая серия:
0 False
1 False
2 False
3 True
4 True
dtype: bool
В этом примере дубликаты представлены значениями True.
Удаление дубликатов
Чтобы удалить дубликаты из DataFrame, можно использовать метод drop_duplicates(). Этот метод удаляет все дублирующиеся строки и возвращает новый DataFrame. Выполните следующий код:
df_no_duplicates = df.drop_duplicates()
print(df_no_duplicates)
Результатом будет новый DataFrame без дубликатов:
Name Age City
0 John 25 New York
1 Alice 30 Paris
2 Bob 35 London
Удаление дубликатов с сохранением первого вхождения
По умолчанию метод drop_duplicates() сохраняет первое вхождение каждой уникальной строки. Если вы хотите сохранить последнее вхождение, можно использовать параметр keep='last'. Выполните следующий код:
df_no_duplicates_last = df.drop_duplicates(keep='last')
print(df_no_duplicates_last)
Результатом будет новый DataFrame без дубликатов, где сохранено последнее вхождение каждой уникальной строки:
Name Age City
2 Bob 35 London
3 John 25 New York
4 Alice 30 Paris
Удаление дубликатов по определенным столбцам
Если вы хотите удалить дубликаты только по определенным столбцам, можно передать их имена в параметр subset. Например, чтобы удалить дубликаты по столбцу "Name", выполните следующий код:
df_no_duplicates_name = df.drop_duplicates(subset='Name')
print(df_no_duplicates_name)
Результатом будет новый DataFrame без дубликатов, где уникальные строки определены только по столбцу "Name":
Name Age City
0 John 25 New York
1 Alice 30 Paris
2 Bob 35 London
Сохранение изменений в исходном DataFrame
При использовании метода drop_duplicates() изменения не будут сохранены в исходном DataFrame. Если вы хотите сохранить изменения, необходимо присвоить новый DataFrame результату. Например, выполните следующий код:
df.drop_duplicates(inplace=True)
print(df)
Результатом будет исходный DataFrame без дубликатов:
Name Age City
0 John 25 New York
1 Alice 30 Paris
2 Bob 35 London
Заключение
В этой статье мы рассмотрели, как удалить дубликаты в Python Pandas. Мы узнали, как использовать методы duplicated() и drop_duplicates() для поиска и удаления дубликатов в DataFrame. Теперь вы можете применить эти знания в своих проектах и обрабатывать данные более эффективно.