# kotlin/dataframe

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/kotlin-dataframe).**

1,049 stars · 82 forks · Kotlin · Apache-2.0

## Links

- GitHub: https://github.com/Kotlin/dataframe
- Homepage: https://kotlin.github.io/dataframe/home.html
- awesome-repositories: https://awesome-repositories.com/repository/kotlin-dataframe.md

## Topics

`data-analysis` `data-science` `dataframe` `kotlin`

## Description

This library is a data processing framework for the JVM that provides a type-safe environment for manipulating structured tabular data. It functions as a comprehensive toolset for performing complex data transformations, aggregations, and statistical analysis, while leveraging compile-time schema validation to ensure structural integrity across data pipelines.

The project distinguishes itself through its deep integration with interactive notebook environments and its use of compile-time code generation. By automatically deriving and enforcing schemas from raw inputs, it generates type-safe accessors that enable IDE autocompletion and static verification of column names. This architecture allows developers to perform functional pipeline processing while maintaining strict type safety, effectively preventing runtime errors during data manipulation.

The library supports a broad range of data workflows, including importing and mapping relational database schemas, performing geospatial analysis, and executing complex data pivoting. It includes extensive utilities for data construction, filtering, sorting, and the calculation of descriptive statistics. Furthermore, the framework provides robust visualization and reporting capabilities, allowing users to render interactive HTML tables, compose documents, and generate charts directly from structured datasets.

The library is designed for seamless use within Kotlin and Java development environments, with specialized support for automated dependency management and kernel integration in interactive notebooks.

## Tags

### Data & Databases

- [Data Analysis Frameworks](https://awesome-repositories.com/f/data-databases/data-analysis-visualization/analytical-platforms-engines/data-analysis-tools/data-analysis-frameworks.md) — Provides a comprehensive toolset for complex data transformations, aggregations, and statistical analysis within JVM environments.
- [Tabular Data Analysis](https://awesome-repositories.com/f/data-databases/tabular-data-analysis.md) — Enables interactive data processing and visualization directly within notebook environments for rapid exploration.
- [Data Processing Libraries](https://awesome-repositories.com/f/data-databases/data-processing-libraries.md) — Provides a type-safe library for manipulating structured tabular data with compile-time schema validation and IDE autocompletion.
- [Type-Safe Schema Definitions](https://awesome-repositories.com/f/data-databases/data-type-definitions/schema-type-synchronization/type-safe-schema-definitions.md) — Generates and enforces data schemas using code-based interfaces to ensure compile-time safety and IDE autocompletion. ([source](https://kotlin.github.io/dataframe/quickstart.html))
- [Type-Safe Structured Data Frameworks](https://awesome-repositories.com/f/data-databases/data-type-managers/structured-types/type-safe-structured-data-frameworks.md) — Enforces strict property requirements and data integrity for structured data objects using compile-time type checking.
- [Group-By Aggregations](https://awesome-repositories.com/f/data-databases/group-by-aggregations.md) — Partitions rows by key values to compute summary statistics like sums and counts. ([source](https://kotlin.github.io/dataframe/groupby.html))
- [SQL Data Loaders](https://awesome-repositories.com/f/data-databases/sql-query-interfaces/sql-data-loaders.md) — Converts database tables and query results into structured data frames with memory-efficient row limits. ([source](https://kotlin.github.io/dataframe/readsqldatabases.html))
- [Type-Safe Data Transformations](https://awesome-repositories.com/f/data-databases/type-safe-data-transformations.md) — Provides a type-safe, functional pipeline for filtering, aggregating, and transforming tabular data. ([source](https://kotlin.github.io/dataframe/guides-and-examples.html))
- [Data Reporting](https://awesome-repositories.com/f/data-databases/data-analysis-visualization/analytical-platforms-engines/data-reporting.md) — Transforms processed datasets into interactive HTML tables and formatted reports for visual data summaries.
- [Schema-Driven Data Normalizers](https://awesome-repositories.com/f/data-databases/data-processing-pipelines/data-processing/data-normalization-schema-enforcement/schema-driven-data-normalizers.md) — Projects untyped input data onto predefined interfaces to enforce structural consistency.
- [Data Reshaping Operations](https://awesome-repositories.com/f/data-databases/data-reshaping-operations.md) — Reshapes grouped data into matrix-like structures by rotating column values into new headers. ([source](https://kotlin.github.io/dataframe/groupby.html))
- [Database Layout Extraction](https://awesome-repositories.com/f/data-databases/data-sources/source-metadata-retrievers/database-layout-extraction.md) — Extracts structural metadata from database tables and query results to simplify mapping data fields. ([source](https://kotlin.github.io/dataframe/readsqldatabases.html))
- [Row Aggregations](https://awesome-repositories.com/f/data-databases/row-expansion/row-aggregations.md) — Computes mathematical aggregates like sums and standard deviations across row values. ([source](https://kotlin.github.io/dataframe/operations.html))
- [Schema Inference](https://awesome-repositories.com/f/data-databases/structured-data-schemas/schema-inference.md) — Maps untyped data to defined interfaces or classes to enforce column names and types throughout the processing pipeline. ([source](https://kotlin.github.io/dataframe/compiler-plugin.html))
- [Table-to-HTML Converters](https://awesome-repositories.com/f/data-databases/table-data-processing/table-to-html-converters.md) — Converts tabular data structures into interactive HTML tables with support for hierarchical data and custom formatting. ([source](https://kotlin.github.io/dataframe/tohtml.html))
- [Tabular Data Manipulations](https://awesome-repositories.com/f/data-databases/tabular-data-manipulations.md) — Creates structured datasets from collections of values for organized storage and manipulation. ([source](https://kotlin.github.io/dataframe/setupgradle.html))

### Development Tools & Productivity

- [Data Format Importers](https://awesome-repositories.com/f/development-tools-productivity/project-imports/external-file-importers/data-format-importers.md) — Parses structured data from files, databases, and strings into unified, type-safe data structures. ([source](https://kotlin.github.io/dataframe/read.html))
- [SQL Schema Integrations](https://awesome-repositories.com/f/development-tools-productivity/type-generators/database-schema/sql-schema-integrations.md) — Imports and maps relational database schemas into structured objects to simplify querying and aggregation.
- [Notebook Execution Environments](https://awesome-repositories.com/f/development-tools-productivity/code-execution-environments/notebook-execution-environments.md) — Executes data processing workflows directly within interactive environments using specialized kernel support and automated dependency management. ([source](https://github.com/kotlin/dataframe#readme))
- [Notebook Environment Integrations](https://awesome-repositories.com/f/development-tools-productivity/notebook-environment-integrations.md) — Configures data manipulation tools across development environments and notebook kernels to enable structured data analysis. ([source](https://kotlin.github.io/dataframe/setup.html))
- [Notebook Rendering Utilities](https://awesome-repositories.com/f/development-tools-productivity/notebook-rendering-utilities.md) — Displays tabular data as interactive, formatted tables within notebook cells to facilitate visual inspection. ([source](https://kotlin.github.io/dataframe/setupkotlinnotebook.html))

### Software Engineering & Architecture

- [Functional Data Pipelines](https://awesome-repositories.com/f/software-engineering-architecture/architectural-design-patterns/design-patterns/functional-design-patterns/functional-data-pipelines.md) — Transforms data through a series of immutable operations that maintain type safety and structural integrity.
- [Compile-Time Code Generation](https://awesome-repositories.com/f/software-engineering-architecture/compile-time-code-generation.md) — Generates type-safe accessors and extension properties at compile time to enable IDE autocompletion.
- [Type-Safe Row Scanning](https://awesome-repositories.com/f/software-engineering-architecture/type-safe-data-handling/type-safe-row-scanning.md) — Maps tabular column identifiers to strongly-typed object properties to prevent runtime errors during data manipulation.

### Web Development

- [Automatic Schema Derivations](https://awesome-repositories.com/f/web-development/type-safe-schema-construction/automatic-schema-derivations.md) — Automatically derives and enforces data structures from raw inputs to ensure consistent and reliable column access.

### Part of an Awesome List

- [Interactive Notebooks](https://awesome-repositories.com/f/awesome-lists/devtools/interactive-notebooks.md) — Provides a data manipulation engine that integrates with notebook kernels for visual exploration and structured analysis.

### Graphics & Multimedia

- [Data Visualization Libraries](https://awesome-repositories.com/f/graphics-multimedia/data-visualization-libraries.md) — Generates charts and plots directly from data structures using a type-safe plotting language. ([source](https://kotlin.github.io/dataframe/quickstart.html))

### Scientific & Mathematical Computing

- [Column Summary Calculators](https://awesome-repositories.com/f/scientific-mathematical-computing/numerical-mathematical-foundations/statistics-probability/statistical-analysis-libraries/statistical-metric-calculators/column-summary-calculators.md) — Calculates column types, null counts, and basic descriptive statistics to provide an overview of dataset structure. ([source](https://kotlin.github.io/dataframe/quickstart.html))

### User Interface & Experience

- [Data Grid Row Sorting](https://awesome-repositories.com/f/user-interface-experience/data-grid-row-sorting.md) — Orders datasets based on column values and extracts specific subsets of rows. ([source](https://kotlin.github.io/dataframe/quickstart.html))
