Просунуті прийоми обробки даних

Імпорт даних у Java

Anthony Markham

VP Quant Developer

Видалення та додавання стовпців

  • Видаліть зайві стовпці за допомогою .drop()
  • Додайте попередньо обчислені або категоріальні стовпці за допомогою .addColumns()
    • Кількість рядків має збігатися ❗
// Remove specific columns
Table cleaned = dataTable.drop("TempID", "Notes");

// Add two new columns StringColumn statusCol = StringColumn.create("Status", "Active", "Inactive", "Active"); IntColumn priorityCol = IntColumn.create("Priority", 1, 2, 3); Table enhanced = dataTable.addColumns(statusCol, priorityCol);
Імпорт даних у Java

Фільтрування рядків за допомогою .dropWhere()

  • Видаляє відповідні рядки
  • Використовує Selection як критерій фільтрування
// Create a selection condition
Selection outliers = dataTable.doubleColumn("Value")
    .isLessThan(lowerBound)
    .or(dataTable.doubleColumn("Value")
        .isGreaterThan(upperBound));

// Remove rows matching the condition Table cleanedData = dataTable.dropWhere(outliers);
Імпорт даних у Java

Підрахунок рядків

  • .rowCount() — рахує кількість рядків у таблиці
// Compare row counts
System.out.println("Original rows: " + dataTable.rowCount());
System.out.println("After dropping outliers: " + 
    cleanedData.rowCount());
Original rows: 100
After dropping outliers: 95
Імпорт даних у Java

Булеве фільтрування

  • Підтримує методи and, or, not
// Complex boolean filtering
Selection techHighPaid = dataTable.stringColumn("Department")
    .isEqualTo("Technology")
    .and(dataTable.doubleColumn("Salary")
        .isGreaterThan(100000));

// Inverse selection (NOT) Selection nonTechOrLowPaid = techHighPaid.not();
Імпорт даних у Java

Перетворення за допомогою .map()

  • Застосовує функцію для перетворення значень стовпця
  • Підтримує лямбда-вирази, код легко читати
// Transform an entire column with a predefined function
StringColumn upperNames = dataTable.stringColumn("Name").map(s -> s.toUpperCase());
// Transform values in a column
DoubleColumn prices = dataTable.doubleColumn("Price");
DoubleColumn discounted = prices.map(price -> price * 0.9);

// Set a name and add a column discounted.setName("DiscountedPrice"); Table withDiscounts = dataTable.addColumns(discounted);
Імпорт даних у Java

Підсумок

  • .drop() — видаляє стовпці з таблиці
  • .dropWhere() — видаляє рядки, що відповідають умові
  • .addColumns() — додає нові стовпці в таблицю
  • .map() — перетворює значення стовпця
// Core advanced manipulation methods
dataTable.drop("TemporaryID");              
dataTable.dropWhere(selection);             
dataTable.addColumns(newColumn);            
doubleCol.map(value -> value * 2);
Імпорт даних у Java

Давайте потренуємось!

Імпорт даних у Java

Preparing Video For Download...