Tecniche avanzate di manipolazione dati

Importare dati in Java

Anthony Markham

VP Quant Developer

Rimozione e aggiunta di colonne

  • Rimuovi colonne inutili con .drop()
  • Aggiungi colonne pre-calcolate o categoriali con .addColumns()
    • Il numero di righe deve essere lo stesso ❗
// Rimuovi colonne specifiche
Table cleaned = dataTable.drop("TempID", "Notes");

// Aggiungi due nuove colonne StringColumn statusCol = StringColumn.create("Status", "Active", "Inactive", "Active"); IntColumn priorityCol = IntColumn.create("Priority", 1, 2, 3); Table enhanced = dataTable.addColumns(statusCol, priorityCol);
Importare dati in Java

Filtraggio righe con .dropWhere()

  • Rimuove righe corrispondenti
  • Usa Selection per i criteri di filtro
// Crea una condizione di selezione
Selection outliers = dataTable.doubleColumn("Value")
    .isLessThan(lowerBound)
    .or(dataTable.doubleColumn("Value")
        .isGreaterThan(upperBound));

// Rimuovi righe che soddisfano la condizione Table cleanedData = dataTable.dropWhere(outliers);
Importare dati in Java

Conteggio righe

  • .rowCount() - conta il numero di righe in una tabella
// Confronta il conteggio delle righe
System.out.println("Righe originali: " + dataTable.rowCount());
System.out.println("Dopo aver rimosso gli outlier: " + 
    cleanedData.rowCount());
Righe originali: 100
Dopo aver rimosso gli outlier: 95
Importare dati in Java

Filtraggio booleano

  • Supporta i metodi and, or, not
// Filtraggio booleano complesso
Selection techHighPaid = dataTable.stringColumn("Department")
    .isEqualTo("Technology")
    .and(dataTable.doubleColumn("Salary")
        .isGreaterThan(100000));

// Selezione inversa (NOT) Selection nonTechOrLowPaid = techHighPaid.not();
Importare dati in Java

Trasformazione con .map()

  • Applica una funzione per trasformare i valori delle colonne
  • Supporta espressioni lambda, rendendo il codice leggibile
// Trasforma un'intera colonna con una funzione predefinita
StringColumn upperNames = dataTable.stringColumn("Name").map(s -> s.toUpperCase());
// Trasforma i valori in una colonna
DoubleColumn prices = dataTable.doubleColumn("Price");
DoubleColumn discounted = prices.map(price -> price * 0.9);

// Imposta un nome e aggiungi una colonna discounted.setName("DiscountedPrice"); Table withDiscounts = dataTable.addColumns(discounted);
Importare dati in Java

Riepilogo

  • .drop() - Rimuovi colonne dalla tabella
  • .dropWhere() - Rimuovi righe che soddisfano la condizione
  • .addColumns() - Aggiungi nuove colonne alla tabella
  • .map() - Trasforma i valori delle colonne
// Metodi avanzati di manipolazione
 dataTable.drop("TemporaryID");              
dataTable.dropWhere(selection);             
dataTable.addColumns(newColumn);            
doubleCol.map(value -> value * 2);
Importare dati in Java

Facciamo pratica!

Importare dati in Java

Preparing Video For Download...