Как выбрать уникальные строки в Pandas DataFrame


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

df = df.drop_duplicates ()

И вы можете использовать следующий синтаксис для выбора уникальных строк в определенных столбцах в кадре данных pandas:

df = df.drop_duplicates (subset=['col1', 'col2', ...])**

В следующих примерах показано, как использовать этот синтаксис на практике со следующими пандами DataFrame:

import pandas as pd

#create DataFrame
df = pd.DataFrame({'a': [4, 4, 3, 8],
 'b': [2, 2, 6, 8],
 'c': [2, 2, 9, 9]})

#view DataFrame
df

 a b c
0 4 2 2
1 4 2 2
2 3 6 9
3 8 8 9

Пример 1. Выбор уникальных строк во всех столбцах

В следующем коде показано, как выбрать уникальные строки во всех столбцах кадра данных pandas:

#drop duplicates from DataFrame
df = df.drop_duplicates ()

#view DataFrame
df

 a b c
0 4 2 2
2 3 6 9
3 8 8 9

Первая и вторая строки были дубликатами, поэтому Pandas удалили вторую строку.

По умолчанию функция drop_duplicates() сохранит первый дубликат. Однако вместо этого вы можете указать сохранить последний дубликат:

#drop duplicates from DataFrame, keep last duplicate
df = df.drop_duplicates (keep='last')

#view DataFrame
df

 a b c
1 4 2 2
2 3 6 9
3 8 8 9

Пример 2. Выбор уникальных строк в определенных столбцах

В следующем коде показано, как выбрать уникальные строки только в столбце «c» в DataFrame:

#drop duplicates from column 'c' in DataFrame
df = df.drop_duplicates (subset=['c'])

#view DataFrame
df
 a b c
0 4 2 2
2 3 6 9

Две строки были удалены из DataFrame.

Дополнительные ресурсы

Как выбрать строки по индексу в Pandas DataFrame
Как получить номера строк в кадре данных Pandas
Как найти уникальные значения в столбце в Pandas