我正在尝试上传一个250MB的csv文件.基本上有400万行和6列时间序列数据(1分钟).通常的程序是:
location = r'C:\Users\Name\Folder_1\Folder_2\file.csv'
df = pd.read_csv(location)
Run Code Online (Sandbox Code Playgroud)
这个过程大约需要20分钟!!! 非常初步我已经探索了以下选项
我想知道是否有人比较了这些选项(或更多)并且有明显的赢家.如果没有人回答,将来我会发布我的结果.我现在没有时间.
我有一个pandas数据框,叫做df.
我想以gzip格式保存它.一种方法是:
import gzip
import pandas
df.save('filename.pickle')
f_in = open('filename.pickle', 'rb')
f_out = gzip.open('filename.pickle.gz', 'wb')
f_out.writelines(f_in)
f_in.close()
f_out.close()
Run Code Online (Sandbox Code Playgroud)
但是,这需要我先创建一个名为的文件filename.pickle.有没有办法更直接地做到这一点,即没有创造filename.pickle?
当我想加载已经gzip压缩的数据帧时,我必须完成创建filename.pickle的相同步骤.例如,要读取一个
filename2.pickle.gzipgzipped pandas数据帧的文件,我知道以下方法:
f_in = gzip.open('filename2.pickle.gz', 'rb')
f_out = gzip.open('filename2.pickle', 'wb')
f_out.writelines(f_in)
f_in.close()
f_out.close()
df2 = pandas.load('filename2.pickle')
Run Code Online (Sandbox Code Playgroud)
这可以不filename2.pickle先创建吗?
我gz用Pandas 0.18 中的格式加载一个非常大的csv文件
pd=pd.read_csv('myfile.gz')
毫不奇怪,一旦csv解压缩并加载到RAM中,它就会占用大量空间.但是,在执行计算后,我仍然需要保存文件.
可以to_csv以gz格式存储我的数据帧吗?我在StackOverflow上找到的唯一相关问题是3岁......