Dask Dataframe divide la columna de la lista en varias columnas

La misma tarea en Pandas se puede hacer fácilmente con

import pandas as pd df = pd.DataFrame({"lists":[[i, i+1] for i in range(10)]}) df[['left','right']] = pd.DataFrame([x for x in df.lists]) 

Pero no puedo averiguar cómo hacer algo similar con un dask.dataframe

Actualizar

Hasta ahora he encontrado esta solución

 ddf = dd.from_pandas(df, npartitions=2) ddf["left"] = ddf.apply(lambda x: x["lists"][0], axis=1, meta=pd.Series()) ddf["right"] = ddf.apply(lambda x: x["lists"][1], axis=1, meta=pd.Series()) 

Me pregunto si hay otra manera de proceder.

Podrías lograr esto usando assign :

 ddf = ddf.assign(left=ddf.lists.map(lambda x: x[0]), right=ddf.lists.map(lambda x: x[1])) 

p.ej,

 ddf.compute() lists left right 0 [0, 1] 0 1 1 [1, 2] 1 2 2 [2, 3] 2 3 3 [3, 4] 3 4 4 [4, 5] 4 5 5 [5, 6] 5 6 6 [6, 7] 6 7 7 [7, 8] 7 8 8 [8, 9] 8 9 9 [9, 10] 9 10 

Una forma alternativa de express esto (ver comentarios, a continuación) podría ser

 ddf = ddf.assign(**{k: ddf.lists.map(lambda x, i=i: x[i]) for i, k in enumerate(['left', 'right'])})