Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Java
  3. Tablesaw

Tablesaw

Apache-2.0Javav0.44.4

A Java dataframe and visualization library for data loading, cleaning, transformation, and analysis.

Visit WebsiteGitHubGitHub
3.8k stars648 forks0 contributors

What is Tablesaw?

Tablesaw is a Java dataframe and visualization library that provides tools for loading, cleaning, transforming, filtering, and summarizing data. It enables data manipulation and analysis within the JVM, similar to pandas in Python, and includes visualization capabilities via Plot.ly integration. It helps Java developers perform data science tasks without leaving their preferred ecosystem.

Target Audience

Java developers and data scientists working within the JVM ecosystem who need to perform data manipulation, analysis, and visualization directly in Java applications or Jupyter notebooks.

Value Proposition

Tablesaw offers a native Java solution for dataframe operations and visualization, eliminating the need to switch to Python or R for data tasks. Its integration with Jupyter notebooks and support for various data sources and machine learning libraries make it a versatile tool for data workflows in Java.

Overview

Java dataframe and visualization library

Use Cases

Best For

  • Performing data cleaning and transformation in Java applications
  • Creating data visualizations directly within JVM projects
  • Analyzing datasets with descriptive statistics in Java
  • Integrating data science workflows into Jupyter notebooks with Java kernels
  • Preparing data for machine learning libraries like Smile or H2O.ai in Java
  • Working with financial or economic data from sources like Quandl in Java

Not Ideal For

  • Teams deeply invested in Python data science stacks (e.g., pandas, scikit-learn) who require seamless integration with those ecosystems
  • Projects building web-based interactive dashboards without a Java backend, as visualization depends on Plot.ly with potential server-side rendering complexities
  • Applications demanding real-time stream processing with sub-millisecond latency, where Java's garbage collection and JVM overhead could be prohibitive

Pros & Cons

Pros

Extensive Data Source Support

Tablesaw can load data from diverse sources including RDBMS, Excel, CSV, JSON, HTML, and remote locations like HTTP and S3, as detailed in the README's data import/export features.

Jupyter Notebook Integration

It works seamlessly with BeakerX and IJava for interactive data exploration in Jupyter notebooks, enabling a familiar workflow for data scientists within Java environments.

Rich Visualization Options

The library provides a wrapper for Plot.ly, supporting various plot types like scatter plots, histograms, and heatmaps, with examples shown in the README's visualization section.

Comprehensive Statistical Tools

Includes descriptive statistics such as mean, median, standard deviation, skewness, and kurtosis, making it suitable for exploratory data analysis directly in Java.

Cons

Modular Dependency Bloat

Features like Excel support, JSON handling, and visualization require separate dependencies (e.g., tablesaw-excel, tablesaw-jsplot), complicating setup and increasing project size.

External Visualization Limitations

Visualization relies on Plot.ly JavaScript library, which may not work well in headless or non-browser environments and adds an external dependency outside the Java ecosystem.

Smaller Community Ecosystem

Compared to Python's pandas, Tablesaw has fewer third-party extensions and integrations, as evidenced by Parquet support being an external project not maintained by the core team.

Open Source Alternative To

Tablesaw is an open-source alternative to the following products:

Pandas
Pandas

Pandas is a fast, powerful, and flexible open-source data analysis and manipulation library for Python, built on top of NumPy.

d
dplyr

dplyr is an R package for data manipulation that provides a grammar of data manipulation with functions like filter, select, mutate, and summarize.

Frequently Asked Questions

Quick Stats

Stars3,764
Forks648
Contributors0
Open Issues131
Last commit2 months ago
CreatedSince 2016

Tags

#statistical-analysis#chart#data-science#statistics#dataframe#data-frame#jupyter-integration#java#plotting#data-visualization#jvm#data-processing#data-analysis#machine-learning#visualization#plotly

Built With

J
Java

Links & Resources

Website

Included in

Java47.5k
Auto-fetched 1 day ago

Related Projects

JGraphTJGraphT

Master repository for the JGraphT project

Stars2,785
Forks872
Last commit3 days ago
XChartXChart

XChart is a light-weight Java library for plotting data.

Stars1,596
Forks399
Last commit4 days ago
JGraphXJGraphX

JGraphX is a Java Swing diagramming library for visualizing and interacting with node-edge graphs, not charts. It enables developers to build applications like workflow editors, organizational charts, UML tools, and network visualizations with support for XML stencils, import/export, and automatic layouting. ## Key Features - **Graph Visualization** — Render and display mathematical graphs with nodes and edges in Java Swing applications. - **Interactive Editing** — Provides tools for users to create, modify, and interact with graph elements directly. - **XML Stencils Support** — Import and export graph definitions using XML-based stencil formats. - **Automatic Layouting** — Algorithms to automatically position nodes and edges for cleaner visual representations. - **Extensive Examples** — Includes sample applications from HelloWorld to a complete GraphEditor for reference. ## Philosophy JGraphX is designed as a specialized library for graph visualization rather than general charting, focusing on flexibility and interactivity for diagramming applications.

Stars692
Forks361
Last commit6 years ago
Chart-FXChart-FX

A scientific charting library focused on performance optimised real-time data visualisation at 25 Hz update rates for data sets with a few 10 thousand up to 5 million data points.

Stars613
Forks111
Last commit7 months ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub