Как выбрать несколько столбцов для получения выражений, используя Polars LazyFramePython

Программы на Python
Anonymous
 Как выбрать несколько столбцов для получения выражений, используя Polars LazyFrame

Сообщение Anonymous »

После создания вычислений с Polars.lazyFrame у меня есть пары столбцов, которые я хочу умножить вместе. Точные имена могут варьироваться в зависимости от входов, но шаблон согласован. Например, приведенный < /p>

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

import polars as pl
df = pl.from_repr("""
shape: (5, 4)
┌─────────┬──────────┬───────────┬────────────┐
│ red_low ┆ red_high ┆ green_low ┆ green_high │
│ ---     ┆ ---      ┆ ---       ┆ ---        │
│ i64     ┆ i64      ┆ i64       ┆ i64        │
╞═════════╪══════════╪═══════════╪════════════╡
│ 1       ┆ 10       ┆ 2         ┆ 20         │
│ 2       ┆ 20       ┆ 3         ┆ 30         │
│ 3       ┆ 30       ┆ 4         ┆ 40         │
│ 4       ┆ 40       ┆ 5         ┆ 50         │
│ 5       ┆ 50       ┆ 6         ┆ 60         │
└─────────┴──────────┴───────────┴────────────┘
""").lazy()
Я хочу, скажем, добавить каждый из наборов _low + _high столбцов, что дает мне такой результат, как

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

┌─────────┬──────────┬───────────┬────────────┬─────────┬───────────┐
│ red_low ┆ red_high ┆ green_low ┆ green_high ┆ red_sum ┆ green_sum │
│ ---     ┆ ---      ┆ ---       ┆ ---        ┆ ---     ┆ ---       │
│ i64     ┆ i64      ┆ i64       ┆ i64        ┆ i64     ┆ i64       │
╞═════════╪══════════╪═══════════╪════════════╪═════════╪═══════════╡
│ 1       ┆ 10       ┆ 2         ┆ 20         ┆ 11      ┆ 22        │
│ 2       ┆ 20       ┆ 3         ┆ 30         ┆ 22      ┆ 33        │
│ 3       ┆ 30       ┆ 4         ┆ 40         ┆ 33      ┆ 44        │
│ 4       ┆ 40       ┆ 5         ┆ 50         ┆ 44      ┆ 55        │
│ 5       ┆ 50       ┆ 6         ┆ 60         ┆ 55      ┆ 66        │
└─────────┴──────────┴───────────┴────────────┴─────────┴───────────┘
Я вижу различный способ использования pl.col () или polars.selectors для выбора столбцов в выражениях, но я не могу найти способ Чтобы выполнить подобную операцию на наборах столбцов. >

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

PerformanceWarning: Determining the column names of a LazyFrame requires resolving its schema, which is a potentially expensive operation.
Мне удалось исключить большинство операций, которые сканируют имена столбцов с селекторами, но не этот.

Подробнее здесь: https://stackoverflow.com/questions/793 ... -lazyframe

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