python - Pandas 数据框 to_csv - 拆分为多个输出文件

标签 python pandas

将非常大的数据帧(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/

相关文章:

python - 我可以在不成为系统管理员的情况下修复 "version GLIBC_2.14 not found"错误吗?

python - pandas.read_excel() 输出 OverflowError : Python int too large to convert to C int

python - Django 双转义引号等

python - (Python)从带有 'style:hidden' 标签的网站抓取数据?

python - docker run 中的flask主机地址

python - 使用 pandas 取消嵌套数组列

python - 使用 BeautifulSoup 抓取 OSHA 网站

python - 乘以 pandas DataFrame 中的列列表

python - pandas 中多索引数据帧的累积百分比

python - 将标签数组映射到 pandas 系列中的值