1

下面是我的 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 分钟。

4

1 回答 1

1

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

此外,请尝试为代码中的每个步骤计时,因为如果将 .CSV 写入磁盘上的文件占用了 6 分钟的大部分时间,那么 Dask 将再次没有帮助(对于单个文件)。

是 Dask 关于为您的任务添加分布式调度程序的一个很好的教程。

于 2019-01-17T11:21:25.540 回答