并行套用apply()以添加以前未知的列

时间:2019-07-19 10:03:59

标签: python pandas parallel-processing dask

我有一个pandas数据框,我必须逐行应用一个函数。它将添加仅在运行时已知的列列表。

这是我目前的工作。

df = df.apply(lambda r : func(r), axis=1 )

func() 内有一个循环,该循环执行许多r['field_'+i] = X,然后返回 r

它可以工作,但是有点慢,我的目标是提高性能。

我想使用 dask 进行并行化:

dd = dask.dataframe.from_pandas(df,100)
df = dd.map_partitions(lambda df : df.apply(lambda r : func(r), axis=1) )

问题是要使其正常工作,我必须添加元数据“ meta = X”,但是数据集包含许多字段,我想自动检索元数据,并且最重要的是,我必须在运行时添加新字段我事先不知道

这里最好的方法是什么?

0 个答案:

没有答案