Рубрики
Без рубрики

Pandas Drop Duplicate Rows – Drop_Duplates () Функция

Pandas Drop_Duplates () Функция синтаксиса Pandas Drop_Duplates () Удаляет дубликаты строки из DataFrame. Его синтаксис: SPORT_DUPLATES (SEA,

Автор оригинала: Pankaj Kumar.

Pandas Drop_Duxicates () Функциональный синтаксис

Функция pandas drop_duplates () удаляет дубликаты строки из dataframe. Его синтаксис:

drop_duplicates(self, subset=None, keep="first", inplace=False)
  • подмножество : метка колонна или последовательность меток для рассмотрения для идентификации дубликатов строк. По умолчанию все столбцы используются для поиска дубликатовных строк.
  • держать : Разрешенные значения {«первые», «последний», ложь}, по умолчанию «First». Если «первые», дублирующиеся строки, кроме первого удалены. Если «последний», дубликаты строки, за исключением последнего, удалено. Если false, все дубликаты строки удаляются.
  • в помещении Если true ИСТИНА, источник DataFrame изменен, и ни один не возвращается. По умолчанию источник DataFrame остается неизменным, и возвращается новый экземпляр DataFrame.

Pandas Drop Duplicate Rows Примеры

Давайте посмотрим на некоторые примеры сброса дубликатовных строк из объекта DataFrame.

1. Снимите дубликаты строки, сохраняя первую

Это поведение по умолчанию, когда аргументы не передаются.

import pandas as pd

d1 = {'A': [1, 1, 1, 2], 'B': [2, 2, 2, 3], 'C': [3, 3, 4, 5]}

source_df = pd.DataFrame(d1)
print('Source DataFrame:\n', source_df)

# keep first duplicate row
result_df = source_df.drop_duplicates()
print('Result DataFrame:\n', result_df)

Выход:

Source DataFrame:
    A  B  C
0  1  2  3
1  1  2  3
2  1  2  4
3  2  3  5
Result DataFrame:
    A  B  C
0  1  2  3
2  1  2  4
3  2  3  5

Строки источника DataFrame 0 и 1 являются дубликатами. Первое вхождение сохраняется, а остальные дубликаты удаляются.

2. Оставьте дубликаты и сохраняйте последнюю строку

result_df = source_df.drop_duplicates(keep='last')
print('Result DataFrame:\n', result_df)

Выход:

Result DataFrame:
    A  B  C
1  1  2  3
2  1  2  4
3  2  3  5

Индекс «0» удален, и последняя дубликата строки «1» хранится в выходе.

3. Удалить все дубликаты строки из DataFrame

result_df = source_df.drop_duplicates(keep=False)
print('Result DataFrame:\n', result_df)

Выход:

Result DataFrame:
    A  B  C
2  1  2  4
3  2  3  5

Обе дубликаты строки «0» и «1» сброшены из результата DataFrame.

4. Определите дублирующиеся строки на основе определенных столбцов

import pandas as pd

d1 = {'A': [1, 1, 1, 2], 'B': [2, 2, 2, 3], 'C': [3, 3, 4, 5]}

source_df = pd.DataFrame(d1)
print('Source DataFrame:\n', source_df)

result_df = source_df.drop_duplicates(subset=['A', 'B'])
print('Result DataFrame:\n', result_df)

Выход:

Source DataFrame:
    A  B  C
0  1  2  3
1  1  2  3
2  1  2  4
3  2  3  5
Result DataFrame:
    A  B  C
0  1  2  3
3  2  3  5

Колонны «A» и «B» используются для выявления дубликатовных строк. Следовательно, строки 0, 1 и 2 являются дубликатами. Таким образом, строки 1 и 2 удаляются с вывода.

5. Удалите дубликаты строки на месте

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

Выход:

   A  B  C
0  1  2  3
2  1  2  4
3  2  3  5

Рекомендации