Introduction to Tablesaw

Importing Data in Java

Anthony Markham

VP Quant Developer

Importing Tablesaw

  • A library for data manipulation
  • Most common import: import tech.tablesaw.api.*
  • Additional imports for specific functionality, for example:
    • import tech.tablesaw.api.DoubleColumn
    • import tech.tablesaw.api.StringColumn
  • Statistical operations: import tech.tablesaw.aggregate.*
1 https://jtablesaw.github.io/tablesaw/
Importing Data in Java

Tabular format

  • Data organized in rows and columns
  • Columns = variables/features
  • Rows = observations/instances

An image showing a sample table, with columns and rows labelled.

Importing Data in Java

Tabular format

  • Can use arrays or collections to store data
// Traditional Java approach (cumbersome)
import java.util.Arrays;
import java.util.List;
List<String> names = Arrays.asList("Anna", "Bob", "Carlos");
List<Integer> ages = Arrays.asList(25, 34, 42);
Importing Data in Java

Creating a table

  • Options: from scratch, from an external file, or from existing columns
// Creating from scratch
Table employees = Table.create("Employees")
    .addColumns(
        StringColumn.create("Name", "John", "Lisa", "Omar"),
        DoubleColumn.create("Salary", 50000, 60000, 55000)
    );
// From existing columns
StringColumn dept = StringColumn.create("Department", 
    "Sales", "Marketing", "Engineering");
Table departments = Table.create("Departments", dept);
  • addColumns() and create() methods
Importing Data in Java

Table metadata

  • Dimensions: table.shape()
  • Column names: table.columnNames()
  • Table structure: table.structure()
  • Preview data: table.first(n), table.last(n)
// Print dimensions
System.out.println(data.shape());  // [rows, columns]
[10, 4]
Importing Data in Java

Table metadata

// Print column names
System.out.println(table.columnNames());
[Day, Temperature, Precipitation]
// Print detailed structure
System.out.println(table.structure());
         Structure of table          
 Index  |   Column Name   |  Column Type  |
     0  |            Day  |       STRING  |
     1  |    Temperature  |       DOUBLE  |
     2  |  Precipitation  |       DOUBLE  |
Importing Data in Java

Table metadata

// Preview first three rows
System.out.println(table.first(3));
                  table                  
    Day     |  Temperature  |  Precipitation  |
    Monday  |         22.5  |              0  |
   Tuesday  |           24  |            2.5  |
 Wednesday  |         23.2  |            5.2  |
Importing Data in Java

Adding columns

  • Adding columns: table.addColumns(newColumn)
// Add a new column
DoubleColumn bonus = DoubleColumn.create("Bonus", 1000, 1500, 2000);
employees = employees.addColumns(bonus);
Importing Data in Java

Removing and renaming columns

// Remove a column
employees = employees.removeColumns("StartDate");
// Rename a column
employees.column("Salary").setName("AnnualSalary");
// Get the type of column
employees.column("Salary").type();
ColumnType.INTEGER

$$

  • Modified tables are returned 💡
Importing Data in Java

Summary

Method/Syntax Description
Table.create("TableName") Creates a new table with the given name
StringColumn.create("ColumnName", values) Creates a string column
table.shape() Returns dimensions as [rows, columns]
table.columnNames() Returns column names in the table
table.structure() Displays table structure information
table.first(n) Returns the first n rows of the table
table.last(n) Returns the last n rows of the table
table.addColumns(newColumn) Adds a new column to the table
1 https://www.javadoc.io/doc/tech.tablesaw/tablesaw-core
Importing Data in Java

Let's practice!

Importing Data in Java

Preparing Video For Download...