scicloj/tablecloth

Dataset manipulation library built on the top of tech.ml.dataset

解决的问题

Tablecloth 为 Clojure 中的列式数据集操作提供了一个简化的高阶 API。它作为 tech.ml.dataset 库的封装,使数据操作更加直观和一致,灵感来源于流行的 R 数据操作工具,如 dplyrtidyrdata.table

工作原理

它将 tech.ml.dataset 的现有函数重新组织为一个精简的 API。关键架构选择包括:

  • 单一入口点:根据参数将常见操作分派到单个函数。
  • 支持 thread-first:函数设计支持使用 Clojure 的 thread-first 宏(->),以构建更清晰的数据流水线。
  • 分组数据集:引入一种特殊的数据集类型用于 group-by 结果,其中分组后创建的子集作为列存储,大多数操作都能识别此结构并相应地处理数据。

适用人群

需要强大且易用的数据帧操作与清洗方法的 Clojure 用户,尤其是来自 R 或熟悉 Tidyverse 生态系统的开发者。

主要亮点

  • 面向 tech.ml.dataset 的高阶 API。
  • 支持分组数据集和专用聚合。
  • 专为 thread-first 流水线组合设计。
  • 灵感来自 R 的 dplyrtidyrdata.table

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目