如何使用Dask将函数应用于单个大型数据集列?

时间:2018-03-09 17:21:59

标签: python dask logarithm

如果使用Dask在大型数据集的单列上应用函数计算logaritm,我该怎么做?

{{1}}

数据集非常大(125百万行),我该怎么做?

1 个答案:

答案 0 :(得分:2)

您有几个选择:

使用dask.array函数

就像您的pandas数据框如何使用numpy函数一样

import numpy as np
result = np.log1p(df.x)

Dask数据帧可以使用dask数组函数

import dask.array as da
result = da.log1p(df.x)

地图分区

但也许你的特定函数不存在这样的dask.array函数。您始终可以使用map_partitions,在构成dask数据帧的所有pandas数据帧中应用通常对pandas数据帧执行的任何功能

<强>熊猫

result = f(df.x)

Dask DataFrame

result = df.x.map_partitions(f)

地图

您始终可以使用mapapply(axis=0)方法,但就像在Pandas中一样,这些方法通常对性能非常不利。