我有一个非常大的数据框,有超过一百万条记录和5列.
我想将此数据帧保存到csv并将其拆分为多个部分,以便每个文件在压缩后最大不超过500MB.
是否可以在不将数据帧保存到我的机器并在那里检查的情况下执行此 *** 作?最佳答案如果不保存,您将无法知道CSV文件的大小.可以保存大数据框的一部分,并使用其文件大小来估算每行的大小.
import pandas as pdbig_df = pd.DataFrame(data=pd.np.random.randn(int(2e6),5))big_df.iloc[:100000].to_csv('temp.csv')# look at temp.csv file size - 100 000 rows is 10 MB for me# if I want about 50 MB per file I store to CSV a half million rows# set it manually or you can compute it with os.path.getsize('temp.csv')rows_max = int(5e5)row_from = 0row_to = rows_maxfile_n = 1while True: fn_i = 'big_%s.csv' % str(file_n).zfill(3) big_df.iloc[row_from:row_to].to_csv(fn_i) if row_to > big_df.index.size: break row_from = row_to row_to = row_from + rows_max file_n += 1
总结 以上是内存溢出为你收集整理的使用python分割数据框取决于csv文件大小 全部内容,希望文章能够帮你解决使用python分割数据框取决于csv文件大小 所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)