jtablesaw/tablesaw

Java dataframe and visualization library

3,764

stars

2,507

commits

Java

primary language

Aug 8, 2026

updated

jtablesaw.github.io/tablesaw/
chart
data-analysis
data-frame
dataframe
data-science
data-visualization
high-performance
java
java-dataframe
machine-learning
plotly
plotting
statistical-analysis
statistics
visualization

README

Tablesaw

Apache 2.0 Codacy Badge Maintainability Rating

Overview

Tablesaw is a dataframe and visualization library that supports loading, cleaning, transforming, filtering, and summarizing data. If you work with data in Java, it may save you time and effort. Tablesaw also supports descriptive statistics and can be used to prepare data for working with machine learning libraries like Smile, Tribuo, H20.ai, DL4J.

Tablesaw features

Data processing & transformation

  • Import data from RDBMS, Excel, CSV, TSV, JSON, HTML, or Fixed Width text files, whether they are local or remote (http, S3, etc.)
  • Export data to CSV, JSON, HTML or Fixed Width files.
  • Combine tables by appending or joining
  • Add and remove columns or rows
  • Sort, Group, Filter, Edit, Transpose, etc.
  • Map/Reduce operations
  • Handle missing values

Visualization

Tablesaw supports data visualization by providing a wrapper for the Plot.ly JavaScript plotting library. Here are a few examples of the new library in action.

TornadoesTornadoesTornadoes
TornadoesTornadoesTornadoes
TornadoesTornadoesTornadoes
TornadoesTornadoesTornadoes

Statistics

  • Descriptive stats: mean, min, max, median, sum, product, standard deviation, variance, percentiles, geometric mean, skewness, kurtosis, etc.

Getting started

Add tablesaw-core to your project. You can find the version number for the latest release in the release notes:

<dependency>
    <groupId>tech.tablesaw</groupId>
    <artifactId>tablesaw-core</artifactId>
    <version>VERSION_NUMBER_GOES_HERE</version>
</dependency>

You may also add supporting projects:

  • tablesaw-beakerx - for using Tablesaw inside BeakerX
  • tablesaw-excel - for using Excel workbooks
  • tablesaw-html - for using HTML
  • tablesaw-json - for using JSON
  • tablesaw-jsplot - for creating charts

External supporting projects - outside of this organization:

Documentation and support

Integrations

Jupyter Notebooks

Other integrations

Contributors

(top 30 of 88)

lwhite1

1,571 commits

benmccann

661 commits

lwhite-fmi

49 commits

ryancerf

27 commits

jtablesaw/tablesaw

Java dataframe and visualization library

3,764

stars

2,507

commits

Java

primary language

Aug 8, 2026

updated

jtablesaw.github.io/tablesaw/
chart
data-analysis
data-frame
dataframe
data-science
data-visualization
high-performance
java
java-dataframe
machine-learning
plotly
plotting
statistical-analysis
statistics
visualization

README

Tablesaw

Apache 2.0 Codacy Badge Maintainability Rating

Overview

Tablesaw is a dataframe and visualization library that supports loading, cleaning, transforming, filtering, and summarizing data. If you work with data in Java, it may save you time and effort. Tablesaw also supports descriptive statistics and can be used to prepare data for working with machine learning libraries like Smile, Tribuo, H20.ai, DL4J.

Tablesaw features

Data processing & transformation

  • Import data from RDBMS, Excel, CSV, TSV, JSON, HTML, or Fixed Width text files, whether they are local or remote (http, S3, etc.)
  • Export data to CSV, JSON, HTML or Fixed Width files.
  • Combine tables by appending or joining
  • Add and remove columns or rows
  • Sort, Group, Filter, Edit, Transpose, etc.
  • Map/Reduce operations
  • Handle missing values

Visualization

Tablesaw supports data visualization by providing a wrapper for the Plot.ly JavaScript plotting library. Here are a few examples of the new library in action.

TornadoesTornadoesTornadoes
TornadoesTornadoesTornadoes
TornadoesTornadoesTornadoes
TornadoesTornadoesTornadoes

Statistics

  • Descriptive stats: mean, min, max, median, sum, product, standard deviation, variance, percentiles, geometric mean, skewness, kurtosis, etc.

Getting started

Add tablesaw-core to your project. You can find the version number for the latest release in the release notes:

<dependency>
    <groupId>tech.tablesaw</groupId>
    <artifactId>tablesaw-core</artifactId>
    <version>VERSION_NUMBER_GOES_HERE</version>
</dependency>

You may also add supporting projects:

  • tablesaw-beakerx - for using Tablesaw inside BeakerX
  • tablesaw-excel - for using Excel workbooks
  • tablesaw-html - for using HTML
  • tablesaw-json - for using JSON
  • tablesaw-jsplot - for creating charts

External supporting projects - outside of this organization:

Documentation and support

Integrations

Jupyter Notebooks

Other integrations

Contributors

(top 30 of 88)

lwhite1

1,571 commits

benmccann

661 commits

lwhite-fmi

49 commits

ryancerf

27 commits

Languages

Java

99.4%