Técnicas avançadas de manipulação de dados

Importando dados em Java

Anthony Markham

VP Quant Developer

Remoção e adição de colunas

  • Remova colunas desnecessárias com .drop()
  • Adicione colunas pré-calculadas ou categóricas com .addColumns()
    • Número de linhas deve ser o mesmo ❗
// Remova colunas específicas
Table cleaned = dataTable.drop("TempID", "Notes");

// Adicione duas novas colunas StringColumn statusCol = StringColumn.create("Status", "Active", "Inactive", "Active"); IntColumn priorityCol = IntColumn.create("Priority", 1, 2, 3); Table enhanced = dataTable.addColumns(statusCol, priorityCol);
Importando dados em Java

Filtragem de linhas com .dropWhere()

  • Remove linhas correspondentes
  • Usa Selection para critérios de filtragem
// Crie uma condição de seleção
Selection outliers = dataTable.doubleColumn("Value")
    .isLessThan(lowerBound)
    .or(dataTable.doubleColumn("Value")
        .isGreaterThan(upperBound));

// Remova linhas que atendem à condição Table cleanedData = dataTable.dropWhere(outliers);
Importando dados em Java

Contagem de linhas

  • .rowCount() - conta o número de linhas em uma tabela
// Compare contagens de linhas
System.out.println("Linhas originais: " + dataTable.rowCount());
System.out.println("Após remover outliers: " + 
    cleanedData.rowCount());
Original rows: 100
After dropping outliers: 95
Importando dados em Java

Filtragem booleana

  • Suporta métodos and, or, not
// Filtragem booleana complexa
Selection techHighPaid = dataTable.stringColumn("Department")
    .isEqualTo("Technology")
    .and(dataTable.doubleColumn("Salary")
        .isGreaterThan(100000));

// Seleção inversa (NOT) Selection nonTechOrLowPaid = techHighPaid.not();
Importando dados em Java

Transformação com .map()

  • Aplica uma função para transformar valores de coluna
  • Suporta expressões lambda, facilitando a leitura do código
// Transforme uma coluna inteira com uma função predefinida
StringColumn upperNames = dataTable.stringColumn("Name").map(s -> s.toUpperCase());
// Transforme valores em uma coluna
DoubleColumn prices = dataTable.doubleColumn("Price");
DoubleColumn discounted = prices.map(price -> price * 0.9);

// Defina um nome e adicione uma coluna discounted.setName("DiscountedPrice"); Table withDiscounts = dataTable.addColumns(discounted);
Importando dados em Java

Resumo

  • .drop() - Remove colunas da tabela
  • .dropWhere() - Remove linhas que atendem a condição
  • .addColumns() - Adiciona novas colunas à tabela
  • .map() - Transforma valores de coluna
// Métodos principais de manipulação avançada
dataTable.drop("TemporaryID");              
dataTable.dropWhere(selection);             
dataTable.addColumns(newColumn);            
doubleCol.map(value -> value * 2);
Importando dados em Java

Vamos praticar!

Importando dados em Java

Preparing Video For Download...