Умножение столбцов вместе на основе условияPython

Программы на Python
Anonymous
Умножение столбцов вместе на основе условия

Сообщение Anonymous »

Есть ли способ динамически умножать столбцы на основе значения в другом столбце в Python?
Я использую Polars, если это имеет значение. Например, если Calendar_year равен 2018, я бы хотел перемножить столбцы 2018, 2019, 2020 и 2021 вместе, но если Calendar_year — 2019, мне бы хотелось умножить только столбцы 2019, 2020 и 2021 вместе.
Я хочу сохранить результат в новом столбце с названием Product. В будущем у нас появятся дополнительные столбцы, такие как 2022 и 2023, поэтому мне бы хотелось иметь возможность использовать формулу для этих новых столбцов без необходимости каждый раз заходить в базу кода. год и добавить их в свой продукт вручную.

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

df = pl.from_repr("""
┌─────┬───────────────┬───────┬───────┬───────┬───────┬───────┬─────────┐
│ id  ┆ calendar_year ┆ 2017  ┆ 2018  ┆ 2019  ┆ 2020  ┆ 2021  ┆ product │
│ --- ┆ ---           ┆ ---   ┆ ---   ┆ ---   ┆ ---   ┆ ---   ┆ ---     │
│ i64 ┆ i64           ┆ f64   ┆ f64   ┆ f64   ┆ f64   ┆ f64   ┆ f64     │
╞═════╪═══════════════╪═══════╪═══════╪═══════╪═══════╪═══════╪═════════╡
│ 123 ┆ 2018          ┆ 0.998 ┆ 0.997 ┆ 0.996 ┆ 0.995 ┆ 0.994 ┆ 0.9801  │
│ 456 ┆ 2019          ┆ 0.993 ┆ 0.992 ┆ 0.991 ┆ 0.99  ┆ 0.989 ┆ 0.9557  │
└─────┴───────────────┴───────┴───────┴───────┴───────┴───────┴─────────┘
""")
Заранее спасибо за помощь!


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

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