将非常大的数据帧(50GB)拆分为多个输出(水平)的最佳/最简单的方法是什么?
我想过做这样的事情:
stepsize = int(1e8)
for id, i in enumerate(range(0,df.size,stepsize)):
start = i
end = i + stepsize-1 #neglect last row ...
df.ix[start:end].to_csv('/data/bs_'+str(id)+'.csv.out')
但我敢打赌有更聪明的解决方案吗?正如 jakevdp 所指出的, HDF5是存储大量数值数据的更好方法,但它不符合我的业务需求。
最佳答案
在文件名中使用 id 否则它将不起作用。您错过了 id
,并且没有 id
,它给出了一个错误。
for id, df_i in enumerate(np.array_split(df, number_of_chunks)):
df_i.to_csv('/data/bs_{id}.csv'.format(id=id))
关于python - Pandas 数据框 to_csv - 拆分为多个输出文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44502306/