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

1. read_csv() VS read_hdf()

一般情况下, 我们习惯使用 Pandas 中的 read_csv 函数来读取 CSV 文件, 但当 CSV 文件比较大时, read_csv 的速度会显得有点慢, 这时可以考虑使用 HDF5 格式来存储数据, 下面是两个函数所用时间的对比
[Python] Pandas 中 read_csv 与 read_hdf 速度对比_第1张图片
[Python] Pandas 中 read_csv 与 read_hdf 速度对比_第2张图片
通过对比可以发现, 随着文件大小的增加, 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))

你可能感兴趣的:(Python)