Почему мой код занимает так много времени, чтобы написать файл CSV в Dask Python - PullRequest
0 голосов
/ 17 января 2019

Ниже мой код 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)

Создание файла CSV размером 100 МБ занимает 6 минут.

1 Ответ

0 голосов
/ 17 января 2019

Просматривая документацию Dask, там говорится, что «в общем случае групповые агрегации Dask.dataframe примерно такой же производительности, как и групповые агрегации Pandas». Поэтому, если вы не используете распределенный клиент Dask для управления рабочими, потоками и т. Д., Преимущества от его использования по сравнению с обычными пандами не всегда есть.

Кроме того, попробуйте синхронизировать каждый шаг в вашем коде, потому что, если основная часть 6 минут будет занята записью файла .CSV в файл на диске, то снова Dask не поможет (для одного файла).

Здесь - хорошее руководство от Dask по добавлению распределенных планировщиков для ваших задач.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...