Переназначение нескольких столбцов на основе одного условияPython

Программы на Python
Anonymous
Переназначение нескольких столбцов на основе одного условия

Сообщение Anonymous »

Изучая здесь поляры, я часто сталкиваюсь с шаблоном, когда мне нужно выполнить несколько переназначений столбцов на основе одного условия. В псевдокоде это будет что-то вроде:

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

    if x=2 then do:
x='ham'
y='eggs'
z='fruit'
end
Следующий код python-polars работает, но должен быть более элегантный способ.

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

df = pl.DataFrame(
{
"a": [1,2,3],
"x": ['foo','bar','baz'],
"y": ['bar','foo','baz'],
"z": ['baz','foo','bar']
}
)
df.with_columns(
pl.when(pl.col('a')==2).then(pl.lit('ham')).otherwise(pl.col('x')).alias('x'),
pl.when(pl.col('a')==2).then(pl.lit('eggs')).otherwise(pl.col('y')).alias('y'),
pl.when(pl.col('a')==2).then(pl.lit('fruit')).otherwise(pl.col('z')).alias('z'),

)
Есть идеи?

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

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