[Python] Pandas 中 read_csv 与 read_hdf 速度对比

1. read_csv() VS read_hdf()

一般情况下, 我们习惯使用 Pandas 中的 read_csv 函数来读取 CSV 文件, 但当 CSV 文件比较大时, read_csv 的速度会显得有点慢, 这时可以考虑使用 HDF5 格式来存储数据, 下面是两个函数所用时间的对比
在这里插入图片描述
在这里插入图片描述
通过对比可以发现, 随着文件大小的增加, read_hdf 的优势越来越大, 但是当文件小于 15MB 时, read_hdf 的速度开始慢于 read_csv, 而且文件越小差距越大, 所以结论是: 大于 15MB 的数据使用 HDF 格式存储, 而小于 15MB 的数据使用 CSV 格式.

2. 测试代码

下面是测试时用的代码

def test2(self):
    csv_path = './test.csv'
    hdf_path = './test.hdf'
    # 先存一份 HDF 文件
    df = pd.read_csv(path)
    df.to_hdf(hdf_path, 'df')
    # 读取 CSV 文件
    start1 = datetime.now()
    df1 = pd.read_csv(path)
    end1 = datetime.now()
    # 读取 HDF 文件
    start2 = datetime.now()
    df2 = pd.read_hdf(path2, 'df')
    end2 = datetime.now()

    print('read_csv: ', end1-start1, len(df1))
    print('read_hdf: ', end2-start2, len(df2))
  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值