如何应对大数据集 dask VS pandas

2020-06-19 00:00:00 数据 专区 订阅 导入 加载

在Kaggle比赛中会遇到一些超大数据集,甚至无法在notebook中用pandas加载。如果你没有性能炸裂的电脑,很有可能你连比赛数据都获取不了。

当然,办法还是有的。

tip1:删除无用的变量,使用gc.collect()清空内存
tip2:预设数据类型
tip3:只导入需要的行和列,即子样本
tip4:批量导入,单独处理每个部分
tip5:使用Dask

这里只讨论Dask方法,并与pandas作对比。Dask之所以出名,是因为它加载大数据集非常快。赶紧做个试验,对比一下。

有一个csv文件,大小为2.4个G,分别用pandas和dask加载,观察他们所需要的时间。

# 先导入需要的库
import numpy as np # linear algebra
import pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)
import dask.dataframe as dd
import dask
import gc
# 先用pandas读取整个文件
%%time
train = pd.read_csv("jiancezhongxin_50_vehicles_data.csv")
print("Pandas dataframe : ",train.shape)
gc.collect()

相关文章