Pandas处理“大”数据的一些技巧
实习定下来下的空档期,抽空参加了一些大数据竞赛,pandas用的比较多,所以这里汇总下pandas的一些使用心得和总结一些遇到过的问题吧。
数据读取慢(文件很大)
-
pandas里面的read类函数都是单线程实现的,这里可以考虑使用分布式多线程版本的pandas: modin.pandas 更换import就可以实现四倍读写
-
第一读写完的时候就把数据转换为.h5格式的文件,既可以压缩又可以提高读取效率。要注意的是,转成为h5文件,最好保证每列数据类型的一致,这样才能使用c接口读取提高效率,否则将默认使用python接口
-
设置分快读取,最后合并
import pandas as pd
res=[]
for dfs in pd.read_csv('data.csv',chunksize=1000,iterator=True):
do(dfs)#处理子块
res