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

2024-09-14 18:00:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个数据帧,我必须应用一个函数行。它将添加一个只有在运行时才知道的列列表

这就是我目前的工作

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”,但数据集有许多字段,我想自动检索元数据,最重要的是,我必须在运行时添加新字段,因为我事先不知道

最好的方法是什么


Tags: 数据lambda函数fromfield目标dataframedf