快速读取和分区数据帧,并最大限度地减少了峰值内存使用量

问题描述

我有一个具有以下结构的数据框式数据集,存储为磁盘上的大量csv文件:

[ target_col | timestamp_col | feature_1 | feature_2 | ... | feature_10000 ]
     int32         int64         float64    float64             float64

我想将此数据加载到dask数据帧中,并将其拆分为'X_train,X_test,y_train,y_test'样式的分区,其中在timestamp列和{{1 }}数据帧由X以外的所有列组成。自然,target_col数据帧仅包含y

我也想将此数据加载到LightGBM数据集中(尽管这是选项)。

这是我到目前为止所拥有的:

target_col

但是,这有很高的峰值内存使用率(远大于数据集的总大小),我认为我在这里使用Dask并没有达到最高效率。是否有更好的方法来做到这一点,“降低峰值内存使用率的结果”会更好?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)