Поиск по сайту:

Нелепо, но замечательно! (Артем Веселый).

Как удалить повторяющиеся строки в Pandas Python

3 мин для чтения
FavoriteLoadingДобавить в избранное
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
23 марта 2021
Как удалить повторяющиеся строки в Pandas Python
Python – один из самых популярных языков программирования для анализа данных, который также поддерживает различные пакеты Python, ориентированные на данные. Пакеты Pandas являются одними из самых популярных пакетов Python и могут быть импортированы для анализа данных. Практически во всех наборах данных часто встречаются повторяющиеся строки, что может вызвать проблемы при анализе данных или арифметических операциях. Лучший подход к анализу данных – выявить любые повторяющиеся строки и удалить их из набора данных. Используя функцию Pandas drop_duplicates(), вы можете легко удалить или удалить повторяющиеся записи из фрейма данных.
В этой статье показано, как найти дубликаты в данных и удалить дубликаты с помощью функций Pandas Python.

В этой статье мы взяли набор данных, который доступен в формате файла .csv. Мы прочитаем файл .csv, чтобы показать исходное содержимое этого файла, как показано ниже:

import pandas as pd

df_state=pd.read_csv("C:/Users/DELL/Desktop/population_ds.csv")

print(df_state)

 

 

Выявление дубликатов в Pandas Python

Необходимо определить, есть ли в используемых вами данных повторяющиеся строки. Чтобы проверить дублирование данных, вы можете использовать любой из методов, описанных в следующих разделах.

 

Способ 1:

Прочтите файл csv и передайте его во фрейм данных. Затем определите повторяющиеся строки с помощью функции duplicated(). Наконец, используйте оператор печати для отображения повторяющихся строк.

import pandas as pd

df_state=pd.read_csv("C:/Users/DELL/Desktop/population_ds.csv")

Dup_Rows = df_state[df_state.duplicated()]

print("\n\nПовторяющиеся строки : \n {}".format(Dup_Rows))

Способ 2:

Используя этот метод, столбец is_duplicated будет добавлен в конец таблицы и помечен как «True» в случае дублирования строк.

import pandas as pd

df_state=pd.read_csv("C:/Users/DELL/Desktop/population_ds.csv")

df_state["is_duplicate"]= df_state.duplicated()

print("\n {}".format(df_state))

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

Дублированные строки могут быть удалены из вашего фрейма данных, используя следующий синтаксис:

drop_duplicates (subset = '', keep = '', inplace = False)

 

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

  • keep: этот параметр имеет три разные значения: First, Last и False. Значение First сохраняет первое вхождение и удаляет последующие дубликаты, значение Last сохраняет только последнее вхождение и удаляет все предыдущие дубликаты, а значение False удаляет все повторяющиеся строки.
  • subset: метка, используемая для идентификации повторяющихся строк
  • inplace: содержит два условия: True и False. Этот параметр удалит повторяющиеся строки, если для него установлено значение True.
Читать  Типы языков программирования. Основные различия и особенности

 

Удалите дубликаты, сохранив только первое вхождение

Когда вы используете «keep = first», будет сохранено только первое вхождение строки, а все остальные дубликаты будут удалены.

 

Пример

В этом примере будет сохранена только первая строка, а остальные дубликаты будут удалены:

import pandas as pd

df_state=pd.read_csv("C:/Users/DELL/Desktop/population_ds.csv")

Dup_Rows = df_state[df_state.duplicated()]

print("\n\nDuplicate Rows : \n {}".format(Dup_Rows))

DF_RM_DUP = df_state.drop_duplicates(keep='first')

print('\n\nРезультирующий кадр данных после удаления дубликата :\n', DF_RM_DUP.head(n=5))

 

Сохраненное вхождение первой строки выделено красным, а остальные дубликаты удалены.

 

Удалите дубликаты, сохранив только последнее вхождение

Когда вы используете «keep = last», все повторяющиеся строки, кроме последнего вхождения, будут удалены.

 

Пример

В следующем примере удаляются все повторяющиеся строки, кроме последнего вхождения.

import pandas as pd

df_state=pd.read_csv("C:/Users/DELL/Desktop/population_ds.csv")

Dup_Rows = df_state[df_state.duplicated()]

print("\n\nПовторяющиеся строки : \n {}".format(Dup_Rows))

DF_RM_DUP = df_state.drop_duplicates(keep='last')

print('\n\nРезультирующий кадр данных после удаления дубликата :\n', DF_RM_DUP.head(n=5))

 

На следующем изображении дубликаты удалены, и сохраняется только последнее вхождение строки.

 

Удалить все повторяющиеся строки

Чтобы удалить все повторяющиеся строки из таблицы, установите «keep = False» следующим образом:

import pandas as pd

df_state=pd.read_csv("C:/Users/DELL/Desktop/population_ds.csv")

Dup_Rows = df_state[df_state.duplicated()]

print("\n\nПовторяющиеся строки : \n {}".format(Dup_Rows))

DF_RM_DUP = df_state.drop_duplicates(keep=False)

print('\n\nРезультирующий кадр данных после удаления дубликата :\n', DF_RM_DUP.head(n=5))

 

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

 

Удалить связанные дубликаты из указанного столбца

По умолчанию функция проверяет все повторяющиеся строки из всех столбцов в заданном фрейме данных. Но вы также можете указать имя столбца с помощью параметра подмножества.

 

Пример

В следующем примере все связанные дубли удаляются из столбца «Состояния».

import pandas as pd

df_state=pd.read_csv("C:/Users/DELL/Desktop/population_ds.csv")

Dup_Rows = df_state[df_state.duplicated()]

print("\n\nПовторяющиеся строки : \n {}".format(Dup_Rows))

DF_RM_DUP = df_state.drop_duplicates(subset='State')

print('\n\nРезультирующий кадр данных после удаления дубликата :\n', DF_RM_DUP.head(n=6))

Вывод

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

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Поделиться в соц. сетях:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии

Читайте также

0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x
()
x

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам:

Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!

badge
Обратный звонок 1
Отправить
galka

Спасибо! Ваша заявка принята

close
galka

Спасибо! Ваша заявка принята

close