用途:Vaex 是用于处理与分析超出可用内存的大型表格数据集(GB 到 TB 级)的 Python 库,采用惰性外存 DataFrame,可基于内存映射的 HDF5/Arrow 文件进行交互式探索,适合天文、金融时间序列等大规模科学数据。
主要能力:支持从 HDF5、CSV、Arrow、Parquet、pandas、NumPy 及字典创建 DataFrame;提供过滤与选择、虚拟列与表达式、groupby 聚合、字符串与日期时间处理、缺失值处理;支持惰性求值、delay=True 批量计算与缓存;可视化支持一维/二维图、热力图与散点图;机器学习提供特征缩放与编码、PCA、K-means,并与 scikit-learn、XGBoost、CatBoost 集成;支持多格式 I/O 与导出。
使用方式:完整安装推荐 uv pip install vaex;最小安装可选 uv pip install vaex-core vaex-viz vaex-hdf5 vaex-ml。典型流程为 df = vaex.open('large_file.hdf5') 或 vaex.from_pandas(pandas_df),用 print(df)、df.describe() 探索,创建虚拟列 df['new'] = df.x ** 2 + df.y,过滤 df[df.age > 25],聚合 df.groupby('category').agg({'value': 'sum'}),可视化 df.viz.heatmap(df.x, df.y, limits='99.7%', show=True),导出 df.export_hdf5('output.hdf5')。批量计算可 delay=True 后用 vaex.execute 一次执行。
适用场景与限制:适合单机、外存、超出内存的表格分析;若数据能放入内存且追求最大内存速度可用 polars,需要集群上分布式 pandas/NumPy 可用 dask。Vaex 4.19.0+ 才支持 Python 3.12 与 NumPy v2;Windows 上构建 annoy 依赖可能需要 Python 开发头文件;vaex-arrow 已废弃(Arrow 已内置于 vaex-core),vaex-distributed 已由 vaex-enterprise 取代。具体收费、价格与更多平台信息暂未提供。