Python Polars – условное соединение по значению между другими столбцамиPython

Программы на Python
Anonymous
Python Polars – условное соединение по значению между другими столбцами

Сообщение Anonymous »

У меня есть кадр данных Polars, который выглядит следующим образом:

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

┌────────────┬───────┐
│ date       ┆ value │
│ ---        ┆ ---   │
│ str        ┆ i64   │
╞════════════╪═══════╡
│ 2022-01-01 ┆ 3     │
│ 2022-01-02 ┆ 7     │
│ 2022-01-03 ┆ 12    │
└────────────┴───────┘
У меня есть еще один DataFrame, который выглядит так:

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

┌──────────┬───────┬───────┐
│ category ┆ lower ┆ upper │
│ ---      ┆ ---   ┆ ---   │
│ str      ┆ i64   ┆ i64   │
╞══════════╪═══════╪═══════╡
│ A        ┆ 0     ┆ 5     │
│ B        ┆ 5     ┆ 10    │
│ C        ┆ 10    ┆ 15    │
└──────────┴───────┴───────┘
Я хочу объединить эти два DataFrame, чтобы в первом DataFrame был новый столбец «категория», в котором каждая строка классифицируется в зависимости от того, к какой категории она относится во втором DataFrame. Окончательный DF должен выглядеть примерно так:

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

┌────────────┬───────┬──────────┐
│ date       ┆ value ┆ category │
│ ---        ┆ ---   ┆ ---      │
│ str        ┆ i64   ┆ str      │
╞════════════╪═══════╪══════════╡
│ 2022-01-01 ┆ 3     ┆ A        │
│ 2022-01-02 ┆ 7     ┆ B        │
│ 2022-01-03 ┆ 12    ┆ C        │
└────────────┴───────┴──────────┘
Есть ли способ сделать это эффективно с помощью Polars? А как насчет неограниченной верхней границы категории C?

Подробнее здесь: https://stackoverflow.com/questions/768 ... er-columns

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