处理大数据集的建议

最近的一些比赛如TalkingData AdTracking Fraud Detection Challenge | Kaggle提供了很大的数据集,一般来说,只有16G的内存的“小”电脑都无法直接处理这种数据集了,本文收集了一些关于处理这种数据的建议,供大家参考。1.及时删除无用变量并垃圾回收通常我们在特征工程中会涉及大量的转换操作,产生很多的中间变量等,除了使用del以外,使用gc.collect()也是个不错的选择。12345678temp = pd.read_csv('../input/train_sample.csv')#do something to the filetemp['os'] = temp['os'].astype('str')#delete when no longer neededdel temp#collect residual garbagegc.collect()2.预定义数据类型pandas一般会自己推断数据类型,不过倾向于使用耗费空间大的,如下面例子所示,预定义数据类型节省了超过一半的空间。123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475dtypes = { 'ip' : 'uint32', 'app' : 'uint16',…

0 Comments