为什么解数据如此缓慢?有什么办法可以加快速度吗?

时间:2020-02-03 22:05:55

标签: python python-3.6 pickle

我有成千上万个csv文件(总计约2GB)。通过

将它们加载到内存中
imp.append(pd.read_csv('.\\folder\\'+iterator,delimiter=',', header=None, engine='c',dtype=np.float32))

大约需要60秒。为了加快导入过程,我尝试通过

将数据pickle file放入硬盘中的单个pickle.dump(imp, file, 2)
imp=pickle.load( file )

但是,与我的预期相反,取消整理数据以再次导入

60

至少花费csv秒,甚至更多。

这是预期的行为吗?我认为在将二进制数据转储保存到硬盘驱动器上之后,我们应该能够在imp=[] for iterator in files: imp.append(pd.read_csv('.\\folder\\'+iterator,delimiter=',', header=None , engine='c',dtype=np.float32).values.tolist()) imp=np.asarray(imp, dtype=np.float32) np.savez(".\\file.dump.npz", imp) 解释程序最初需要加载数据的一小部分时间内对其进行检索。也许腌制不是正确的程序吗?我该如何做二进制转储,并将预处理后的数据更有效地加载回内存中?

编辑:

根据AMC在评论中的建议,我将数据另存为:

imp=(np.load(".\\file.dump.npz"))['arr_0']

并将其加载为

print(imp.shape)

结果很快。

print(imp.dtype)

(24347,1140,10)

{{1}}

float32

0 个答案:

没有答案
相关问题