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

Программы на Python
Ответить
Anonymous
 Полярные значения – удалить повторяющуюся строку на основе подмножества столбцов, но оставить ее первой.

Сообщение Anonymous »

Учитывая следующую таблицу, я хотел бы удалить дубликаты на основе подмножества столбцов col1, col2. Однако я бы хотел сохранить первую строку дубликатов:

Код: Выделить всё

import polars as pl

data = {
'col1': [1, 2, 3, 1, 1],
'col2': [7, 8, 9, 7, 7],
'col3': [3, 4, 5, 6, 8]
}
tmp = pl.DataFrame(data)

Код: Выделить всё

┌──────┬──────┬──────┐
│ col1 ┆ col2 ┆ col3 │
│ ---  ┆ ---  ┆ ---  │
│ i64  ┆ i64  ┆ i64  │
╞══════╪══════╪══════╡
│ 1    ┆ 7    ┆ 3    │
│ 2    ┆ 8    ┆ 4    │
│ 3    ┆ 9    ┆ 5    │
│ 1    ┆ 7    ┆ 6    │
│ 1    ┆ 7    ┆ 9    │
└──────┴──────┴──────┘
Результат должен быть

Код: Выделить всё

┌──────┬──────┬──────┐
│ col1 ┆ col2 ┆ col3 │
│ ---  ┆ ---  ┆ ---  │
│ i64  ┆ i64  ┆ i64  │
╞══════╪══════╪══════╡
│ 1    ┆ 7    ┆ 3    │
│ 2    ┆ 8    ┆ 4    │
│ 3    ┆ 9    ┆ 5    │
└──────┴──────┴──────┘
Обычно я бы делал это с помощью pandas df["col1","col2"].is_duulated(keep='first'), но функция Polars dl.is_duulated() помечает все строки как дубликаты, включая первое появление.

Подробнее здесь: https://stackoverflow.com/questions/772 ... keep-first
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»