Невозможно перейти от панды к dask dataframe, ошибка памяти - PullRequest
0 голосов
/ 28 января 2019

У меня есть фрейм данных pandas с 7 миллионами записей, я пытаюсь создать фрейм данных dask, но у меня постоянно возникают проблемы с памятью.

Используемый код:

dd_test = dd.from_pandas(df_lookup_table, npartitions=3)

Сообщение об ошибке:

Traceback (most recent call last):
  File "<input>", line 1, in <module>
  File "C:\Users\user\venv\lib\site-packages\dask\dataframe\io\io.py", line 181, in from_pandas
    name = name or ('from_pandas-' + tokenize(data, chunksize))
  File "C:\Users\user\venv\lib\site-packages\dask\base.py", line 600, in tokenize
    return md5(str(tuple(map(normalize_token, args))).encode()).hexdigest()
  File "C:\Users\user\venv\lib\site-packages\dask\utils.py", line 413, in __call__
    return meth(arg, *args, **kwargs)
  File "C:\Users\user\venv\lib\site-packages\dask\base.py", line 710, in normalize_dataframe
    return list(map(normalize_token, data))
  File "C:\Users\user\venv\lib\site-packages\dask\utils.py", line 413, in __call__
    return meth(arg, *args, **kwargs)
  File "C:\Users\user\venv\lib\site-packages\dask\base.py", line 734, in normalize_array
    x.flat]))
MemoryError

Мне удалось создать фрейм данных dask с меньшим фреймом данных.Как я могу создать фрейм данных dask из этого фрейма данных pandas?

1 Ответ

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

Смысл dask в том, чтобы иметь возможность обрабатывать данные, которые не помещаются в память.В этом случае вы сначала загружаете набор данных в память, а затем передаете его в dask.Вместо этого вы должны загрузить данные напрямую с помощью dask.Например, если вы использовали pandas.read_csv, вам следует переключить его на dask.dataframe.read_csv.

...