dflib/dflib

In-memory Java DataFrame library

What it solves

Java and JVM developers often need to manipulate tabular data in memory, similar to what pandas or R DataFrames provide. SQL is declarative and less composable for step-by-step transformations. DFLib gives you a DataFrame structure with operations like joins, filtering, and aggregation, applied programmatically.

How it works

DFLib implements the DataFrame concept as a pure Java library. You work with dynamic tables, applying operations step by step. It includes connectors to read and write common formats: CSV, Excel, databases, Avro, Parquet, JSON, and can be extended. It also integrates with Jupyter Notebook via a Java kernel, and can generate interactive charts using Apache ECharts (HTML/JavaScript output).

Who it’s for

Java and JVM developers building applications that need in-memory data processing, ETL tasks, log analysis, spreadsheet handling, or data exploration. It’s also suitable for data scientists working in Jupyter with Java.

Highlights

  • Pure Java implementation, no external dependencies.
  • SQL-like operations (joins, etc.) applied in-memory and composable.
  • Connectors for CSV, Excel, RDBMS, Avro, Parquet, JSON.
  • Integration with Jupyter Notebook via a community-maintained Java kernel.
  • Built-in chart generation with Apache ECharts for HTML/JavaScript visualization.

Related

  • Project
  • Project
  • Project
  • Project