Как правильно ввести dask Dataframe в качестве параметра функции? - PullRequest
0 голосов
/ 07 июля 2019

Когда я передаю Dask Dataframe в качестве параметра, он преобразуется в pandas Dataframe.

print(type(sellout_df))
simulate_sku_predictions(sellout_df.loc[(sellout_df['sku'] == sku) & (sellout_df['store_id'] == store)].compute(), store, sku)

Prints => <class 'dask.dataframe.core.DataFrame'>

Вход в определенную функцию

def simulate_sku_predictions(sellout_sku_df, store, sku):
    print(type(sellout_sku_df))

Prints => <class 'pandas.core.frame.DataFrame'>

Я не могу использовать функции compute и dask.

Я новичок в dask, но не думаю, что это подходящее преобразование в серединекод, если «я не должен».

1 Ответ

0 голосов
/ 07 июля 2019

dask.DataFrame.compute() возвращает Pandas DataFrame .Таким образом, код не передает Dask DataFrame в simulate_sku_predictions.Аргумент

sellout_df.loc[(sellout_df['sku'] == sku) & (sellout_df['store_id'] == store)].compute()

оценивается в Pandas DataFrame до , и он передается в качестве аргумента simulate_sku_predictions.

Если вы удалите вызов compute(), тогда sellout_df.loc[...] будет Dask DataFrame, и вы можете передать это simulate_sku_predictions.

...