Hdf5和pickle比原始csv文件占用更多空间

时间:2016-06-27 13:59:40

标签: python tensorflow pickle hdf5 h5py

我有一个大小为18 MB的csv文件(仅包含数字数据)。当我读取并转换为numpy数组并将其保存为hdf5格式或pickle时,它需要大约48 MB的磁盘空间。当我们使用pickle或hdf5时,不应该压缩数据吗?以hdf5格式保存以供tensorflow使用更好吗? Csv数据的格式为

2,3,66,184,2037,43312,0,0,9,2,0,1,8745,1,0,2,6,204,27,97
2,3,66,184,2037,43312,0,0,9,2,0,1,8745,1,0,2,6,204,27,78
2,3,66,184,2037,43312,0,0,9,2,0,1,8745,1,0,1,6,204,27,58

数据的维度为310584 X 20

1 个答案:

答案 0 :(得分:1)

整数的Numpy数组默认为int64 dtype。这就是数据比原始数据占用更多空间的原因。

310584 X 20 x 8 ~= 48 MB (8 Bytes is the size for int64)