mcpField
V
vaex

vaex

github.com/jackspace数据与数据库1635 次安装12 周前更新
代码仓库

关于 vaex

Vaex 是面向大型表格数据的 Python 数据分析库,适合处理无法全部载入内存的数据集。它以惰性计算和虚拟列支持数据处理、统计分析、可视化及机器学习工作流。

主要功能

  1. 01惰性、内存外 DataFrame
  2. 02虚拟列与表达式处理
  3. 03大型数据集统计聚合
  4. 04交互式图表与热图
  5. 05机器学习流水线集成
  6. 06多种格式读写

适用场景

  1. 01分析超出可用内存的数据集
  2. 02对海量数据执行统计聚合
  3. 03可视化大型数据集中的分布
  4. 04构建大数据机器学习流水线

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/jackspace/claudeskillz --skill vaex

安装后在 Claude Code 中输入/vaex确认已加载。

附带文件SKILL.json

详细介绍

Vaex

概述

Vaex 是一个高性能 Python 库,专为惰性、超出内存容量的数据帧而设计,可处理和可视化无法装入 RAM 的表格数据集。Vaex 每秒可处理超过 10 亿行数据,让你能够交互式地探索和分析包含数十亿行的数据集。

何时使用此技能

在以下情况下使用 Vaex:

  • 处理大于可用 RAM 的表格数据集(从 GB 到 TB)
  • 对海量数据集执行快速统计聚合
  • 为大型数据集创建可视化图表和热力图
  • 基于大数据构建机器学习流水线
  • 在数据格式之间转换(CSV、HDF5、Arrow、Parquet)
  • 需要惰性求值和虚拟列,以避免内存开销
  • 处理天文数据、金融时间序列或其他大规模科学数据集

核心功能

Vaex 提供六大核心功能领域,每项功能均在 references 目录中有详细说明:

1. 数据帧和数据加载

从多种来源加载和创建 Vaex 数据帧,包括文件(HDF5、CSV、Arrow、Parquet)、pandas 数据帧、NumPy 数组和字典。有关以下内容,请参阅 references/core_dataframes.md:

  • 高效打开大型文件
  • 从 pandas/NumPy/Arrow 转换
  • 使用示例数据集
  • 了解数据帧结构
2. 数据处理与操作

执行筛选、创建虚拟列、使用表达式并聚合数据,而无需将所有数据加载到内存中。有关以下内容,请参阅 references/data_processing.md:

  • 筛选和选择
  • 虚拟列和表达式
  • 分组操作和聚合
  • 字符串操作和日期时间处理
  • 处理缺失数据
3. 性能与优化

利用 Vaex 的惰性求值、缓存策略和高效内存操作。有关以下内容,请参阅 references/performance.md:

  • 了解惰性求值
  • 使用 delay=True 批量执行操作
  • 按需物化列
  • 缓存策略
  • 异步操作
4. 数据可视化

为大型数据集创建交互式可视化图表,包括热力图、直方图和散点图。有关以下内容,请参阅 references/visualization.md:

  • 创建一维和二维图表
  • 热力图可视化
  • 使用选择
  • 自定义图表和子图
5. 机器学习集成

借助转换器、编码器以及与 scikit-learn、XGBoost 和其他框架的集成,构建机器学习流水线。有关以下内容,请参阅 references/machine_learning.md:

  • 特征缩放和编码
  • PCA 和降维
  • K-means 聚类
  • 与 scikit-learn/XGBoost/CatBoost 集成
  • 模型序列化和部署
6. I/O 操作

以最佳性能高效地读取和写入各种格式的数据。有关以下内容,请参阅 references/io_operations.md:

  • 文件格式建议
  • 导出策略
  • 使用 Apache Arrow
  • 处理大型 CSV 文件
  • 服务端和远程数据访问

快速入门模式

对于大多数 Vaex 任务,请遵循以下模式:

import vaex

# 1. Open or create DataFrame
df = vaex.open('large_file.hdf5')  # or .csv, .arrow, .parquet
# OR
df = vaex.from_pandas(pandas_df)

# 2. Explore the data
print(df)  # Shows first/last rows and column info
df.describe()  # Statistical summary

# 3. Create virtual columns (no memory overhead)
df['new_column'] = df.x ** 2 + df.y

# 4. Filter with selections
df_filtered = df[df.age > 25]

# 5. Compute statistics (fast, lazy evaluation)
mean_val = df.x.mean()
stats = df.groupby('category').agg({'value': 'sum'})

# 6. Visualize
df.plot1d(df.x, limits=[0, 100])
df.plot(df.x, df.y, limits='99.7%')

# 7. Export if needed
df.export_hdf5('output.hdf5')

使用参考文档

参考文件详细介绍了各个功能领域。根据具体任务将参考文件加载到上下文中:

  • 基本操作:从 references/core_dataframes.md 和 references/data_processing.md 开始
  • 性能问题:查看 references/performance.md
  • 可视化任务:使用 references/visualization.md
  • 机器学习流水线:参阅 references/machine_learning.md
  • 文件 I/O:查阅 references/io_operations.md

最佳实践

  1. 使用 HDF5 或 Apache Arrow 格式,以便在处理大型数据集时获得最佳性能
  2. 利用虚拟列,而不是将数据实体化,以节省内存
  3. 执行多项计算时,使用 delay=True 批量处理操作
  4. 导出为高效格式,不要将数据保留为 CSV
  5. 使用表达式执行复杂计算,无需中间存储
  6. 使用 df.stat() 分析性能,了解内存使用情况并优化操作

常见模式

模式:将大型 CSV 转换为 HDF5
import vaex

# Open large CSV (processes in chunks automatically)
df = vaex.from_csv('large_file.csv')

# Export to HDF5 for faster future access
df.export_hdf5('large_file.hdf5')

# Future loads are instant
df = vaex.open('large_file.hdf5')
模式:高效聚合
# Use delay=True to batch multiple operations
mean_x = df.x.mean(delay=True)
std_y = df.y.std(delay=True)
sum_z = df.z.sum(delay=True)

# Execute all at once
results = vaex.execute([mean_x, std_y, sum_z])
模式:用于特征工程的虚拟列
# No memory overhead - computed on the fly
df['age_squared'] = df.age ** 2
df['full_name'] = df.first_name + ' ' + df.last_name
df['is_adult'] = df.age >= 18

资源

此技能在 references/ 目录中包含参考文档:

  • core_dataframes.md - DataFrame 的创建、加载和基本结构
  • data_processing.md - 筛选、表达式、聚合和转换
  • performance.md - 优化策略和惰性求值
  • visualization.md - 绘图和交互式可视化
  • machine_learning.md - ML 工作流和模型集成
  • io_operations.md - 文件格式以及数据导入/导出

评论

支持 Markdown