Структури даних у 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

Методи Table

String tableName = employees.name();
employees
// Кількість рядків і стовпців
int rowCount = employees.rowCount();
int columnCount = employees.columnCount();
1000
5
Імпорт даних у Java

Типи стовпців

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

Операції для типів стовпців

  • Кожен тип має спеціалізовані операції
// Використання .mean() для DoubleColumn
DoubleColumn salary = employees.column("Salary");
double averageSalary = salary.mean();
Імпорт даних у Java

Доступ до даних

// Отримати конкретний стовпець
StringColumn names = employees.stringColumn("Name");

// Отримати загальний стовпець names = employees.column("Name");
// Отримати значення зі стовпця String firstPerson = names.get(0);
// Отримати весь рядок Row firstRow = employees.row(0);
// Отримати значення з рядка double salary = firstRow.getDouble("Salary");
Імпорт даних у Java

Selections

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

$$

// Створіть вибірку рядків
Selection highEarners = employees.doubleColumn("Salary")
    .isGreaterThan(70000);
Імпорт даних у Java

Фільтрування за Selection

// Створіть вибірку рядків
Selection highEarners = employees.doubleColumn("Salary")
    .isGreaterThan(70000);


// Застосуйте вибірку для отримання відфільтрованої таблиці 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...