scicloj/tablecloth
Dataset manipulation library built on the top of tech.ml.dataset
What it solves
Tablecloth provides a simplified, high-level API for manipulating columnar datasets in Clojure. It acts as a wrapper around the tech.ml.dataset library to make data manipulation more intuitive and consistent, drawing inspiration from popular R data manipulation tools like dplyr, tidyr, and data.table.
How it works
It reorganizes the existing functions of tech.ml.dataset into a streamlined API. Key architectural choices include:
- Single Entry Point: Common operations are dispatched through a single function based on arguments.
- Thread-First Support: Functions are designed to enable the use of Clojure's thread-first macro (
->) for cleaner data pipelines. - Grouped Datasets: It introduces a special dataset type for
group-byresults, where subsets created after grouping are stored as a column, and most operations are aware of this structure to process data accordingly.
Who it’s for
Data scientists and developers using Clojure who need a powerful and ergonomic way to perform data frame manipulation and cleaning, especially those coming from R or familiar with the Tidyverse ecosystem.
Highlights
- High-level API for
tech.ml.dataset. - Support for grouped datasets and specialized aggregation.
- Designed for thread-first pipeline composition.
- Inspired by R's
dplyr,tidyr, anddata.table.
Related
- Project
- Project
- Project
- Project
- Project