Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 分布式dask:提高小数据帧的速度_Python_Dask_Dask Distributed - Fatal编程技术网

Python 分布式dask:提高小数据帧的速度

Python 分布式dask:提高小数据帧的速度,python,dask,dask-distributed,Python,Dask,Dask Distributed,我正在尝试使用dask将工作从web服务器转移到交互式数据分析应用程序的工作人员身上。对于我的应用程序典型的数据帧大小,与内存中的熊猫计算相比,简单的groupby()和mean()在dask上的计算速度要慢三倍。我知道这不是达斯克的目标。但是,我发现分布式dask更适合在交互式应用程序中卸载数据(与芹菜相比,芹菜的工作不能是交互式的) 除了做持久化之外,我还能做些什么来进一步提高计算速度吗。例如,我能否以某种方式通知系统,数据帧较小,因此最好在计算所依赖的持久数据所在的节点上执行数据帧 csv

我正在尝试使用dask将工作从web服务器转移到交互式数据分析应用程序的工作人员身上。对于我的应用程序典型的数据帧大小,与内存中的熊猫计算相比,简单的
groupby()
mean()
dask
上的计算速度要慢三倍。我知道这不是达斯克的目标。但是,我发现分布式dask更适合在交互式应用程序中卸载数据(与芹菜相比,芹菜的工作不能是交互式的)

除了做持久化之外,我还能做些什么来进一步提高计算速度吗。例如,我能否以某种方式通知系统,数据帧较小,因此最好在计算所依赖的持久数据所在的节点上执行数据帧

csv = dd.read_csv(r'path-to-csv.csv')
df = csv.persist()

# Bringing to this machine
df2 = df.compute()

def f1():
    return df.groupby('Color').mean().compute()

def f2():
    return df2.groupby('Color').mean()

timeit.timeit('f1()', setup='from __main__ import f1', number=100)
timeit.timeit('f2()', setup='from __main__ import f2', number=100)
可能是您正在寻找的解决方案

你可以找到莫丁和达斯克之间的比较