Sitemap

Dataframes with Tablesaw for Java. Examples using IJava Kernel for Jupyter.

5 min readOct 12, 2021
Press enter or click to view image in full size

If you’ve ever found yourself looking for a quick and easy library for writing and using ‘Dataframes’ in Java, you’ve probably come across Tablesaw.

Tablesaw is a dataframe and visualization library, as well as utilities for loading, transforming, filtering, and summarizing data.

- The Docs

I’ve already briefly introduced Google Colab (hosted Jupyter Notebooks), and how to get started installing and using a Java Kernel, in a separate article titled Java, Jupyter and Google Colab.

I’ll revisit this approach and expand on it with a little help from the team behind the Deep Java Library (DJL) at Amazon.

Finally, we’ll get a quick introduction to using Tablesaw on Google Colab.

Let’s Get To It

Copy the Jupyter Notebook template from GitHub

(1) We’re going to get started using a blank Jupyter Notebook configured to use the Java Kernel (IJava).

NOTE: for more information on the process behind configuring the IKernel for use in Google Colab, see my previous article: Java, Jupyter and Google Colab.

(2) From inside Google Colab, use ctl + O to open a Notebook.

(3) Copy & paste the following URL, as illustrated below.

https://github.com/gmsharpe/edumore/blob/master/blank_notebook_with_java_kernel.ipynb
Press enter or click to view image in full size

(4) Next, once you’ve opened the Notebook, you won’t be able to save your changes until you make a copy of it for yourself. You can copy it to your Google Drive from the link provided on the ribbon:

Installing the Java Kernel

(5) Now that we have the template available, we’re going to install the Java Kernel, to make it available to Colab. To do this, we’re going to get help from the team behind the Deep Java Library, who have put together…

--

--

Gary Sharpe
Gary Sharpe

Written by Gary Sharpe

I build back-end systems for moving, munging and synchronizing data from one end of the enterprise to the other.

Responses (1)