Vaex 是一个开源的 DataFrame 库(类似于Pandas),采用内存映射、高效的核外算法和延迟计算等概念,可对50GB甚至500GB以上的数据集高效进行可视化、探索、分析。
1. 将CSV文件转换为HDF5文件
import vaex
import numpy as np
import pandas as pd
for i ,chunk in enumerate(pd.read_csv("k:/bigdatatest.csv",chunksize=20000000)):
df_chunk = vaex.from_pandas(chunk,copy_index=False)
export_path = f'k:/bigdata_part_{i}.hdf5'
df_chunk.export_hdf5(export_path)
df = vaex.open('k:/bigdata_part_*.hdf5')
df.export_hdf5('k:/Final.hdf5') #8.5G的CSV文件转换过程需20分钟
2. 读取HDF5文件
df = vaex.open('k:/Final.hdf5') #0.14秒打开8.5G的HDF5文件
print(df.describe()) #243秒显示计算结果