Pandas

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

В: Pandas

Вы можете использовать следующий синтаксис для выбора уникальных строк в кадре данных 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

Еще от кодкамп
Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.