Как динамически генерировать конструкции «когда-то» в полярах?Python

Программы на Python
Anonymous
Как динамически генерировать конструкции «когда-то» в полярах?

Сообщение Anonymous »

Я работаю с полярными выражениями, как показано ниже.

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

pl.when(pl.col(a).contains("some value")).then(pl.concat_list("ArayColumn"),[A])
.when(pl.col(a).contains("some value")).then(pl.concat_list("ArayColumn"),[B])
.when(pl.col(a).contains("some value")).then(pl.concat_list("ArayColumn"),[C])
.otherwise("Z is Big").alias("Bigger Value")
Однако мне хотелось бы генерировать эти выражения динамически (как в следующем псевдокоде).

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

exprs = []
for i,value on conditions:
exprs.append(pl.when(i).then(value))

exprs.otherwise(defaultValue).alias("Bigger Value")
Затем я хотел бы оценить exprs в контексте кадра данных.

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

df.with_columns(exprs)
Итак, я хочу, чтобы для каждой строки она должна сначала, когда, затем, во-вторых, затем....
Я должен оценивать каждый раз, когда. Затем условие и объединение всех
Мои окончательные значения могут содержать [A, B, C].
Проверенные подходы:
  • Для цикла и применения один за другим, но если dataFrame содержит огромные данные, которые можно использовать.
  • Цепочка выражений, но в противном случае поляры принимают None по умолчанию для всех условий, которые я сохранял, и замедляют работу [несколько мс]
Можете ли вы предложить мне какой-либо другой подход? Мне нужно сгенерировать выражение, а позже я применю его к dataFrame.

Подробнее здесь: https://stackoverflow.com/questions/788 ... ynamically

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