Мне нужно создать столбец, основанный на некотором условии на dask dataframe. В панд это довольно просто:Создать столбец условия if-else в dask dataframe
ddf['TEST_VAR'] = ['THIS' if x == 200607 else
'NOT THIS' if x == 200608 else
'THAT' if x == 200609 else 'NONE'
for x in ddf['shop_week'] ]
В то время как в DASK я должен сделать то же самое, как показано ниже:
def f(x):
if x == 200607:
y= 'THIS'
elif x == 200608 :
y= 'THAT'
else :
y= 1
return y
ddf1 = ddf.assign(col1 = list(ddf.shop_week.apply(f).compute()))
ddf1.compute()
Вопросы:
- Есть ли лучше/более простой способ Добейся этого?
- Я не могу изменить первый dataframe ddf, мне нужно создать ddf1, чтобы изменения были dask dataframe Неизменяемый объект?
dask dataframes изменяются по умолчанию или они являются изменяемыми пост-релизами версии 0.10.2? –
В последней версии Dask, версия 0.10.2, dask.dataframes поддерживает назначение столбцов – MRocklin
Спасибо за ответ @MRocklin –