当我将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'>
我不能使用计算和快速功能。
我是新手,但是如果“我不必”,我认为在代码中间进行转换是不合适的。
答案 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
。