Структуры данных в Tablesaw

Импорт данных в Java

Anthony Markham

VP Quant Developer

Основные структуры данных

  • Table: основной контейнер (аналог DataFrame)
Table employees = Table.create("Employees");
  • Column: хранит значения одного типа
StringColumn nameCol = StringColumn.create("Name");
  • Row: представляет отдельные записи
Row firstRow = employees.row(0);
Импорт данных в Java

Методы таблицы

String tableName = employees.name();
employees
// Row and column counts
int rowCount = employees.rowCount();
int columnCount = employees.columnCount();
1000
5
Импорт данных в Java

Типы столбцов

  • Строгая типизация = у каждого столбца фиксированный тип данных
    • Повышает производительность и упрощает отладку
  • Примеры:
    • StringColumn — текстовые данные
    • IntColumn, DoubleColumn — числовые значения
    • BooleanColumn — значения True/False
    • Данные временных рядов:
      • DateColumn — календарные даты (2024-03-05)
      • DateTimeColumn — дата и время (2024-03-05T14:32)
Импорт данных в Java

Операции с типами столбцов

  • Каждый тип предоставляет специализированные операции
// Using .mean() on DoubleColumn
DoubleColumn salary = employees.column("Salary");
double averageSalary = salary.mean();
Импорт данных в Java

Доступ к данным

// Get a specific column
StringColumn names = employees.stringColumn("Name");

// Get a general column names = employees.column("Name");
// Get a value from a column String firstPerson = names.get(0);
// Get an entire row Row firstRow = employees.row(0);
// Get a value from a row double salary = firstRow.getDouble("Salary");
Импорт данных в Java

Выборки

  • Набор индексов строк, соответствующих условию
  • Примеры:
    • .isGreaterThan(), .isLessThan()
    • .isEqualTo()
    • .isAfter()

$$

// Create a selection of rows
Selection highEarners = employees.doubleColumn("Salary")
    .isGreaterThan(70000);
Импорт данных в Java

Фильтрация по выборке

// Create a selection of rows
Selection highEarners = employees.doubleColumn("Salary")
    .isGreaterThan(70000);


// Apply selection to get a filtered table Table highPaidEmployees = employees.where(highEarners);

$$

$$

  • .where() возвращает новую таблицу
Импорт данных в Java

Логические операции

  • Объединяйте выборки с помощью .and() и .or()
Selection recentHires = employees.dateColumn("HireDate")
    .isAfter(LocalDate.of(2020, 1, 1));

Selection highPaidRecent = highEarners.and(recentHires);
Импорт данных в Java

Давайте потренируемся!

Импорт данных в Java

Preparing Video For Download...