У меня есть фрейм данных с определенным количеством групп, содержащий столбец веса и список значений, который может иметь произвольную длину, например:
df.with_columns(
pl.col("Vals").list.eval(pl.element() * 3).alias("Weight1"), #Multiplying with literal works
pl.col("Vals").list.eval(pl.element() * pl.col("Weight")).alias("Weight2"), #Does not work
pl.col("Vals").list.eval(pl.element() * pl.col("Unknown")).alias("Weight3"), #Unknown columns give same value
pl.col("Vals").list.eval(pl.col("Vals") * pl.col("Weight")).alias("Weight4"), #Same effect
# pl.col('Vals') * 3 -> gives an error
)
Если я не правильно понимаю, похоже, что вы не можете получить доступ к столбцам за пределами списка из функции eval. Возможно, существует способ использовать понимание списка внутри оператора, но это не совсем удачное решение.
Каков здесь рекомендуемый подход? Любая помощь будет оценена по достоинству!
У меня есть фрейм данных с определенным количеством групп, содержащий столбец веса и список значений, который может иметь произвольную длину, например:
df = pl.DataFrame(
{
Group : ,
Weight : ,
Vals : [ , , ]
}
)...
У меня есть фрейм данных с определенным количеством групп, содержащий столбец веса и список значений, который может иметь произвольную длину, например:
df = pl.DataFrame(
{
Group : ,
Weight : ,
Vals : [ , , ]
}
)...
Я попытался сделать это, чтобы создать новый столбец, где каждая строка представляет собой массив, содержащий значения столбца b, умноженные на столбец a.
data = {'a': , 'b': [ , ]}
df = pd.DataFrame(data)
df = df.apply(lambda row: [row * x for x...
Я попытался сделать это, чтобы создать новый столбец, где каждая строка представляет собой массив, содержащий значения столбца b, умноженные на столбец a.
data = {'a': , 'b': [ , ]}
df = pd.DataFrame(data)
df = df.apply(lambda row: [row * x for x...
Я попытался сделать это, чтобы создать новый столбец, где каждая строка представляет собой массив, содержащий значения столбца b, умноженные на столбец a.
data = {'a': , 'b': [ , ]}
df = pd.DataFrame(data)
df = df.apply(lambda row: [row * x for x...