Удалите повторяющиеся строки столбца типа list[str]` в Polars.Python

Программы на Python
Anonymous
 Удалите повторяющиеся строки столбца типа list[str]` в Polars.

Сообщение Anonymous »

У меня есть DataFrame со столбцом, содержащим списки строк. Я хочу отфильтровать DataFrame, чтобы удалить строки с повторяющимися значениями столбца списка.
Например,
import polars as pl

# Create a DataFrame with a list[str] type column
data = pl.DataFrame({
"id": [1, 2, 3, 4],
"values": [
["a", "a", "a"], # first two rows are duplicated
["a", "a", "a"],
["b", "b", "b"],
["c", "d", "e"]
]
})

print(data)

shape: (4, 2)
┌─────┬─────────────────┐
│ id ┆ values │
│ --- ┆ --- │
│ i64 ┆ list[str] │
╞═════╪═════════════════╡
│ 1 ┆ ["a", "a", "a"] │
│ 2 ┆ ["a", "a", "a"] │
│ 3 ┆ ["b", "b", "b"] │
│ 4 ┆ ["c", "d", "e"] │
└─────┴─────────────────┘

Желаемый результат:
shape: (3, 2)
┌─────┬─────────────────┐
│ id ┆ values │
│ --- ┆ --- │
│ i64 ┆ list[str] │
╞═════╪═════════════════╡
│ 1 ┆ ["a", "a", "a"] │
│ 3 ┆ ["b", "b", "b"] │
│ 4 ┆ ["c", "d", "e"] │
└─────┴─────────────────┘

Использование уникального метода не работает для списка типов[str] (хотя оно работает, когда список содержит числовые типы).
data.unique(subset="values")

ComputeError: grouping on list type is only allowed if the inner type is numeric


Подробнее здесь: https://stackoverflow.com/questions/760 ... -in-polars

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