如何应对大数据集 dask VS pandas
在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()
相关文章