Я использую 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