我正在做一个(二进制)预测练习,有47个变量但有数百万行。纯粹的pandas
(或现在pydaal
/ daal4py
)不足以设置数据;我正在调整dask
示例以在本地运行。我没有在集群上安排任务,但希望流式传输我的数据,而不是全部保留在内存中。
对于dask-xgboost
或其他支持dask的工具(在scikit-learn
中),我需要将我的分类变量转换为数值。
在Matthew Rocklin的exercise中,这是在这一行中完成的:
df2 = dd.get_dummies(df.categorize()).persist()
其中df
是dask DataFrame,dd
是导入的dask DataFrame模块。
但是,我希望在早期的一行中避免使用persist()
(马修为df, is_delayed = dask.persist(df, is_delayed)
),因为我不能在记忆中这样做。也许这就是我尝试使用生成的DataFrame时出错的原因:
长度不匹配:预期轴有39个元素,新值有57个 元素
如何使用dask.dataframe.get_dummies()
,特别是在像我这样的用例中?