如何正确输入dask Dataframe作为函数的参数?

时间:2019-07-06 21:04:35

标签: python pandas dask

当我将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)

打印=> <class 'dask.dataframe.core.DataFrame'>

输入已定义的功能

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

打印=> <class 'pandas.core.frame.DataFrame'>

我不能使用计算和快速功能。

我是新手,但是如果“我不必”,我认为在代码中间进行转换是不合适的。

1 个答案:

答案 0 :(得分:0)

dask.DataFrame.compute() returns a 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