Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/318.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_Dataframe_Dask - Fatal编程技术网

Python 适合内存加载时间的数据集上的Dask

Python 适合内存加载时间的数据集上的Dask,python,dataframe,dask,Python,Dataframe,Dask,我知道dask的主要用途是用于内存中不适合的数据,但我还是很好奇。 为什么在创建熊猫数据帧和Dask数据帧时会有时间上的差异?(我读过关于开销的文章,但它是否应该如此重要?) 您不应该期望数据帧的加载速度更快。在某种程度上,系统需要 -从磁盘传输字节(固定成本) -解析文本(此部分可并行化) -在工作人员之间传递数据(这可能涉及昂贵的序列化和通信) -连接(这会占用大量内存,如果周围有很多工作人员,那么可能会很昂贵) 所需的时间在很大程度上取决于您使用的调度程序,因为这会影响需要多少数据副本以

我知道dask的主要用途是用于内存中不适合的数据,但我还是很好奇。
为什么在创建熊猫数据帧和Dask数据帧时会有时间上的差异?(我读过关于开销的文章,但它是否应该如此重要?)


您不应该期望数据帧的加载速度更快。在某种程度上,系统需要 -从磁盘传输字节(固定成本) -解析文本(此部分可并行化) -在工作人员之间传递数据(这可能涉及昂贵的序列化和通信) -连接(这会占用大量内存,如果周围有很多工作人员,那么可能会很昂贵)

所需的时间在很大程度上取决于您使用的调度程序,因为这会影响需要多少数据副本以及发生多少通信。您可能希望尝试分布式调度程序,使用不同的线程和进程混合。编组任务总是有一些开销

dask模型是将计算转移到数据,而不是反过来。如果您对dask数据帧(筛选、分组、计算、聚合)进行操作,并且仅对相对较小的输出执行
.compute()
,则计算将在数据也加载的同一工作人员中进行,从而消除串行化和通信成本

不过,一般来说,如果数据能很好地存储在内存中,那么熊猫可能在速度方面做得很好