Vaex 核外海量数据分析
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @org-02qudk26/vaex。
技能介绍
问题在哪
表格数据一旦超过可用 RAM,pandas 往往只能抽样或分块硬扛:聚合慢、中间列占内存、CSV 反复读写拖垮 I/O。天文、金融时序和科学观测里,GB 到 TB 的单表并不少见,你仍需要完整统计、筛选和可视化,而不是永远停留在「能打开就行」。
技能如何帮你用 Vaex
Vaex 围绕惰性、核外 DataFrame 设计:表达式和过滤在需要时才物化,虚拟列用计算代替落盘,配合 delay=True 把多步运算批处理后再求值。技能按能力拆成参考文档,便于在对话里按需加载:
- 加载与结构:HDF5、CSV、Arrow、Parquet,以及从 pandas / NumPy 接入
- 处理:过滤、groupby 聚合、字符串与日期时间、缺失值
- 性能:惰性求值、缓存、何时物化列、
df.stat()看内存画像 - 可视化:直方图、散点图、热力图及交互选择
- ML:缩放、编码、PCA、K-means,对接 scikit-learn / XGBoost 等
- I/O:格式选型、Arrow、大 CSV 与导出策略
常见路径是:大 CSV 转为 HDF5 或 Arrow → 用表达式做特征工程 → 批量聚合或出图 → 必要时再导出高效格式,而不是长期留在 CSV。
适用边界
Vaex 强项是大规模表格的扫描式统计与探索;若数据已是小表、强依赖 pandas 生态里某段专有 API,或工作流以单行实时推理为主,未必比现有栈更省事。复杂多步研究流可在具备持久会话的环境里做,但本技能本身提供的是 Vaex 用法与参考文档,不替代你本地的数据治理与权限策略。
使用场景
- 业务或观测日志表超过单机内存,必须对全量行做过滤、groupby 聚合,而不能长期依赖抽样近似。
- 同一份 GB 级 CSV 被反复扫描统计,需要先转为 HDF5 或 Apache Arrow 再跑表达式与导出。
- 在十亿行级表格上制作直方图、散点图或热力图,并用选择区域做交互式下钻探索。
- 大表特征不宜物化成中间文件,需用虚拟列写表达式后接入 scikit-learn 或 XGBoost 管道。
适合人员
- 维护 TB 级 CSV/HDF5 数据湖的数据工程师,希望在无 Spark 集群的单机上做全表聚合。
- 在内存有限的 Notebook 里处理长金融时间序列的量化研究员,需要快速统计与可视化。
- 处理天文或科学巡天单表、行数达十亿级的分析人员,要做核外探索而非分块 pandas 脚本。
- 负责日志或用户行为宽表建模的 ML 工程师,要把惰性 DataFrame 与现有 sklearn 训练流程衔接。