绑定完请刷新页面
取消
刷新

分享好友

×
取消 复制
如何应对大数据集 dask VS pandas
2020-06-19 09:56:35

在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()

结果:

Pandas dataframe : (18970955, 21) Wall time: 2min 3s
# 再用dask读取
%%time
train_df = dd.read_csv("jiancezhongxin_50_vehicles_data.csv")
gc.collect()

结果:

Wall time: 81.8 ms

对比一下两者的时间吧

pandas dask

2min 3s 81.8 ms

分享好友

分享这个小栈给你的朋友们,一起进步吧。

数据架构
创建时间:2020-05-20 11:23:41
有关数据架构的小栈里面全都有
展开
订阅须知

• 所有用户可根据关注领域订阅专区或所有专区

• 付费订阅:虚拟交易,一经交易不退款;若特殊情况,可3日内客服咨询

• 专区发布评论属默认订阅所评论专区(除付费小栈外)

技术专家

查看更多
  • 小雨滴
    专家
戳我,来吐槽~