Можно ли объединить dask.DataFrame.categorize с другим вычислением dask с помощью dask.compute? - PullRequest
0 голосов
/ 14 апреля 2020

Я пытаюсь избежать повторного вычисления с использованием dask.compute(list_of_dask_computations). В коде, который у меня есть, я должен создать несколько категориальных столбцов в кадре данных dask и вызвать dask.DataFrame.categorize, чтобы сделать категории известными. Но я хотел бы сделать этот вызов одновременно с другими вычислениями в других столбцах, как указано в dask.compute(list_of_dask_computations). Но я не понимаю, как.

Пример описан ниже:

import dask
df = dask.datasets.timeseries()
df['letter'] = df['name'].str[0].astype('category')
mean_x = df['x'].mean()
mean_y = df['y'].mean()

# How to combine these two computations below
mean_x_val, mean_y_val = dask.compute(mean_x, mean_y)
df=df.categorize(columns=['letter']) # or df['letter']=df['letter'].cat.as_known()

Спасибо за любую доступную помощь.

Арно.

1 Ответ

0 голосов
/ 18 апреля 2020

Насколько я понимаю, df.categorize внутренне вызывает compute. Я предполагаю, что нет простого способа объединить это с другими вычислительными вызовами одновременно. В идеале это будет изменено.

...