熊猫HDF5的读取时间与数据大小不成比例,而写入时间则 我的问题是为什么读取时间显示出像坡度波动那样的驼背

问题描述

在具有2TB内存的Linux主机中,我使用python 3.6,pandas 0.23.4,hdf5 1.10.1针对具有不同数据大小的csv,对csv基准了压缩hdf5文件的读取时间。基准数据是可重复的。

使用time.time()

将时间测量为挂钟时间

每一步的行数从25,000变为26,611,000,相差2倍。有438列。对于original,它是objectint64float64列的混合,对于categorical,有两个object列,并且其余436列为category,但originalcategorical之间的每一列的内容都是相同的。

我看到写入时间与行数成比例,但是读取时间却在波动。 bzip2lzo均使用9级压缩,但使用默认块大小。

这是用于显示数据大小的内存使用情况。

enter image description here

  • 写入时间标度:pandas.to_hdf5与pandas.to_csv

    df.to_hdf(h5file,key='df',format='table',complevel=9,complib='bzip2')
    df.to_hdf(h5file,complib='lzo')
    df.to_csv(csvfile,index=False)
  • 绝对比例

    List item

  • 相对于csv写入时间的相对比例

    List item

  • 读取时间范围:pandas.read_hdf5与pandas.read_csv

    pd.read_hdf(h5file)
    pd.read_csv(csvfile)
  • 绝对规模

    List item

  • 相对于csv读取时间的相对比例

    List item

我的问题是为什么读取时间显示出像坡度波动那样的驼背。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)