栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

HDF5比CSV占用更多的空间?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

HDF5比CSV占用更多的空间?

我从问题中得到的答案的副本:https :
//github.com/pydata/pandas/issues/3651

您的样本实在太小。HDF5具有相当大的开销,而且尺寸非常小(即使较小的一侧也有300k条目)。以下是两边都没有压缩的情况。浮点数实际上更有效地以二进制形式(以文本形式)表示。

此外,HDF5是基于行的。通过使表不是很宽但是很长,可以提高效率。(因此,您的示例在HDF5中根本不是很有效,请在这种情况下将其存储换位)

我通常有超过1000万行的表,查询时间可以是ms。甚至下面的例子也很小。拥有10GB以上的文件非常普遍(更不用说10GB以上仅需几秒钟的天文学专家!)

-rw-rw-r--  1 jreback users 203200986 May 19 20:58 test.csv-rw-rw-r--  1 jreback users  88007312 May 19 20:59 test.h5In [1]: df = Dataframe(randn(1000000,10))In [9]: dfOut[9]: <class 'pandas.core.frame.Dataframe'>Int64Index: 1000000 entries, 0 to 999999Data columns (total 10 columns):0    1000000  non-null values1    1000000  non-null values2    1000000  non-null values3    1000000  non-null values4    1000000  non-null values5    1000000  non-null values6    1000000  non-null values7    1000000  non-null values8    1000000  non-null values9    1000000  non-null valuesdtypes: float64(10)In [5]: %timeit df.to_csv('test.csv',mode='w')1 loops, best of 3: 12.7 s per loopIn [6]: %timeit df.to_hdf('test.h5','df',mode='w')1 loops, best of 3: 825 ms per loopIn [7]: %timeit pd.read_csv('test.csv',index_col=0)1 loops, best of 3: 2.35 s per loopIn [8]: %timeit pd.read_hdf('test.h5','df')10 loops, best of 3: 38 ms per loop

我真的不会担心大小(我怀疑您不是,只是感兴趣,这很好)。HDF5的要点是磁盘便宜,cpu便宜,但是您无法一次将所有内容都存储在内存中,因此我们通过分块进行优化



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/639388.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号