为什么我的代码需要这么长时间才能在 Dask Python 中编写 CSV 文件



下面是我的Python代码:

import dask.dataframe as dd
VALUE2015 = dd.read_csv('A/SKD - M2M by Salesman (value by uom) (NEWSALES)2015-2016.csv', usecols = VALUEFY, dtype = traintypes1) 
REPORT = VALUE2015.groupby(index).agg({'JAN':'sum', 'FEB':'sum', 'MAR':'sum', 'APR':'sum', 'MAY':'sum','JUN':'sum', 'JUL':'sum', 'AUG':'sum', 'SEP':'sum', 'OCT':'sum', 'NOV':'sum', 'DEC':'sum'}).compute()
REPORT.to_csv('VALUE*.csv', header=True)

创建 100MB CSV 文件需要 6 分钟。

浏览 Dask 文档,它说,"一般来说,Dask.dataframe groupby-aggregations 的性能与 Pandas groupby-aggregations 大致相同。因此,除非您使用 Dask 分布式客户端来管理工作线程、线程等,否则使用它而不是普通 Pandas 的好处并不总是存在的。

此外,请尝试对代码中的每个步骤进行计时,因为如果 6 分钟的大部分时间是通过编写 .CSV到磁盘上的文件,然后Dask将无济于事(对于单个文件)。

这是 Dask 关于为您的任务添加分布式调度程序的精彩教程。

最新更新