dask get_dummies不需要坚持就可以工作吗?

2024-05-17 02:52:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在做一个(二进制)预测练习,有47个变量,但有数百万行。因此,纯粹的pandas(或现在的pydaal/daal4py)不足以设置数据;我正在调整一个dask示例以在本地运行。我不调度集群上的任务,但希望流式传输我的数据,而不是把所有的都保存在内存中。在

对于dask-xgboost或其他支持dask的工具(在scikit-learn)中,我需要将我的分类变量转换为数值。在

在Matthew Rocklin的exercise中,这一行是这样完成的:

df2 = dd.get_dummies(df.categorize()).persist()

其中df是dask数据帧,dd是导入的dask数据帧模块。在

但是,我希望在前面的一行中避免persist()(对于Matthew,df, is_delayed = dask.persist(df, is_delayed)),因为我不能在内存中这样做。也许这就是为什么我尝试使用这样的结果数据帧时会出错:

Length mismatch: Expected axis has 39 elements, new values have 57 elements

应该如何使用dask.dataframe.get_dummies(),尤其是在像我这样的用例中?在


Tags: 数据内存pandasdfgetis二进制elements