Когда я запускаю такой цикл (см. Ниже), используя dask и pandas, оценивается только последнее поле в списке. Предположительно это из-за "ленивых оценок"
import pandas as pd
import dask.dataframe as ddf
df_dask = ddf.from_pandas(df, npartitions=16)
for field in fields:
df_dask["column__{field}".format(field=field)] = df_dask["column"].apply(lambda _: [__ for __ in _ if (__ == field)], meta=list)
Если я добавлю ".compute ()" в последнюю строку:
df_dask["column__{field}".format(field=field)] = df_dask["column"].apply(lambda _: [__ for __ in _ if (__ == field)], meta=list).compute()
тогда он работает правильно, но является ли это наиболее эффективным способом выполнения этой операции? Есть ли способ для Dask добавить все элементы из списка полей сразу, а затем запустить их в один выстрел с помощью compute ()?
редактировать ---------------
Пожалуйста, смотрите скриншот ниже для работающего примера