【问题标题】:Pandas dataframe to_csv - split into multiple output filesPandas 数据框 to_csv - 拆分为多个输出文件
【发布时间】:2020-09-07 07:06:21
【问题描述】:

将一个非常大的数据帧 (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 是存储大量数字数据的更好方法,但它不符合我的业务需求。

【问题讨论】:

    标签: python pandas


    【解决方案1】:

    在文件名中使用 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))
    

    【讨论】:

      【解决方案2】:

      answer 给我带来了一个令人满意的解决方案:

      for idx, chunk in enumerate(np.array_split(df, number_of_chunks)):
          chunk.to_csv(f'/data/bs_{idx}.csv')
      

      【讨论】:

        猜你喜欢
        • 2021-12-22
        • 1970-01-01
        • 1970-01-01
        • 2016-06-24
        • 2022-08-12
        • 2021-03-31
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多