Отслеживание и подсчет изменений состояния между столбцами в полярах ⇐ Python

Программы на Python
Anonymous
Отслеживание и подсчет изменений состояния между столбцами в полярах

Сообщение Anonymous »

У меня есть фрейм данных с несколькими идентификаторами и соответствующими состояниями. Я хочу проанализировать, как штаты менялись с течением времени, и эффективно представить эту информацию.
Вот пример:
import polars as pl

df = pl.DataFrame({
"ID": [1, 2, 3],
"T0": ["A", "B", "C"],
"T1": ["B", "B", "A"],
})

Один из подходов — «объединить» столбцы, а затем выполнить value_counts() столбца «Изменить».
df = df.with_columns(
(pl.col("T0") + " -> " + pl.col("T1")).alias("Change")
)

Однако для этого может быть лучший подход или даже встроенная функция, которая поможет добиться того, что мне нужно, более эффективно.
Текущая Вывод:
shape: (3, 4)
┌─────┬─────┬─────┬────────┐
│ ID ┆ T0 ┆ T1 ┆ Change │
│ --- ┆ --- ┆ --- ┆ --- │
│ i64 ┆ str ┆ str ┆ str │
╞═════╪═════╪═════╪════════╡
│ 1 ┆ A ┆ B ┆ A -> B │
│ 2 ┆ B ┆ B ┆ B -> B │
│ 3 ┆ C ┆ A ┆ C -> A │
└─────┴─────┴─────┴────────┘

shape: (3, 2)
┌────────┬───────┐
│ Change ┆ count │
│ --- ┆ --- │
│ str ┆ u32 │
╞════════╪═══════╡
│ C -> A ┆ 1 │
│ B -> B ┆ 1 │
│ A -> B ┆ 1 │
└────────┴───────┘


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

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