如果使用Dask在大型数据集的单列上应用函数计算logaritm,我该怎么做?
{{1}}
数据集非常大(125百万行),我该怎么做?
答案 0 :(得分:2)
您有几个选择:
就像您的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)
您始终可以使用map
或apply(axis=0)
方法,但就像在Pandas中一样,这些方法通常对性能非常不利。