Introduktion till Tablesaw

Importera data i Java

Anthony Markham

VP Quant Developer

Importera Tablesaw

  • Ett bibliotek för datamanipulering
  • Vanligaste importen: import tech.tablesaw.api.*
  • Ytterligare importer för specifik funktionalitet, till exempel:
    • import tech.tablesaw.api.DoubleColumn
    • import tech.tablesaw.api.StringColumn
  • Statistiska operationer: import tech.tablesaw.aggregate.*
1 https://jtablesaw.github.io/tablesaw/
Importera data i Java

Tabellformat

  • Data organiserad i rader och kolumner
  • Kolumner = variabler/särdrag
  • Rader = observationer/instanser

En bild som visar en exempeltabell med kolumner och rader märkta.

Importera data i Java

Tabellformat

  • Går att använda arrayer eller samlingar för att lagra 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);
Importera data i Java

Skapa en tabell

  • Alternativ: från grunden, från en extern fil eller från befintliga kolumner
// 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);
  • Metoderna addColumns() och create()
Importera data i Java

Tabellmetadata

  • Dimensioner: table.shape()
  • Kolumnnamn: table.columnNames()
  • Tabellstruktur: table.structure()
  • Förhandsgranska data: table.first(n), table.last(n)
// Print dimensions
System.out.println(data.shape());  // [rows, columns]
[10, 4]
Importera data i Java

Tabellmetadata

// 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  |
Importera data i Java

Tabellmetadata

// 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  |
Importera data i Java

Lägga till kolumner

  • Lägga till kolumner: table.addColumns(newColumn)
// Add a new column
DoubleColumn bonus = DoubleColumn.create("Bonus", 1000, 1500, 2000);
employees = employees.addColumns(bonus);
Importera data i Java

Ta bort och byta namn på kolumner

// 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

$$

  • Modifierade tabeller returneras 💡
Importera data i Java

Sammanfattning

Metod/Syntax Beskrivning
Table.create("TableName") Skapar en ny tabell med angivet namn
StringColumn.create("ColumnName", values) Skapar en strängkolumn
table.shape() Returnerar dimensioner som [rader, kolumner]
table.columnNames() Returnerar kolumnnamnen i tabellen
table.structure() Visar information om tabellstrukturen
table.first(n) Returnerar de första n raderna i tabellen
table.last(n) Returnerar de sista n raderna i tabellen
table.addColumns(newColumn) Lägger till en ny kolumn i tabellen
1 https://www.javadoc.io/doc/tech.tablesaw/tablesaw-core
Importera data i Java

Nu kör vi en övning!

Importera data i Java

Preparing Video For Download...