Я имею опыт работы с R, поэтому понимаю, что это может быть невероятно простой вопрос.
Я хочу реализовать оператор случая, в котором, если какое-либо из приведенных ниже условий истинно, он будет помечать его как 1, в противном случае он будет 0. Мой новый столбец будет называться «my_new_column_flag»
Однако я получаю сообщение об ошибке сообщение
TypeError: неверный ввод для `col`. Ожидался `str` или `DataType`, получено "int".
Код: Выделить всё
import polars as pl
import numpy as np
np.random.seed(12)
df = pl.DataFrame(
{
"nrs": [1, 2, 3, None, 5],
"names": ["foo", "ham", "spam", "egg", None],
"random": np.random.rand(5),
"groups": ["A", "A", "B", "C", "B"],
}
)
print(df)
df.with_columns(
pl.when(pl.col('nrs') == 1).then(pl.col(1))
.when(pl.col('names') == 'ham').then(pl.col(1))
.when(pl.col('random') == 0.014575).then(pl.col(1))
.otherwise(pl.col(0))
.alias('my_new_column_flag')
)
Подробнее здесь: https://stackoverflow.com/questions/753 ... -statement