Padrões de transformação de dados

Importando dados em Java

Anthony Markham

VP Quant Developer

Função map

  • Transforma cada elemento em uma coluna
DoubleColumn celsius = DoubleColumn.create("Celsius", 0, 10, 20, 30);

DoubleColumn fahrenheit = celsius.map(c -> c * 9.0/5.0 + 32); table.addColumns(fahrenheit.setName("Fahrenheit"));
Celsius Fahrenheit
0.0 32.0
10.0 50.0
20.0 68.0
30.0 86.0
Importando dados em Java

Função reduce

  • Combina todos os valores de uma coluna em um único resultado
  • Aplica um padrão acumulador (como soma, máximo ou lógica personalizada)
  • Útil para operações estatísticas e analíticas
// Encontra o total de vendas
double totalSales = table.doubleColumn("Sales").reduce(0, Double::sum);
250000
// Encontra o máximo
double largeSales = table.doubleColumn("Sales").reduce(0, (acc, x) -> acc + (x > 5000 ? 1 : 0));
68
Importando dados em Java

Iteração de linhas com forEach

  • Itera por cada linha em uma tabela
DoubleColumn difference = DoubleColumn.create("Difference");
table.forEach(row -> {
    double celsius = row.getDouble("Celsius");
    double fahrenheit = row.getDouble("Fahrenheit");
    difference.append(fahrenheit - celsius);
});

table.addColumns(difference);
Celsius Fahrenheit Difference
0.0 32.0 32.0
10.0 50.0 40.0
20.0 68.0 48.0
Importando dados em Java

Pipelines de transformação

  • Encadeia várias operações juntas
  • Aumenta a legibilidade e manutenção do código ✅
  • Processamento de dados eficiente ✅
Table result = originalTable
    .where(numberColumn("Age").isGreaterThan(18)) // Filtra Idade > 18

.addColumns( numberColumn("Income").map(i -> i * 1.1).setName("AdjustedIncome") );
// Calcula a renda média double avgIncome = result.doubleColumn("AdjustedIncome") .reduce(0.0, Double::sum) / result.rowCount();
Importando dados em Java

Recapitulação

  • map() - aplica uma função para transformar valores da coluna
  • forEach() - itera por linhas para acessar várias colunas
  • reduce() - agrega e resume dados em valores únicos

Uma imagem que mostra as três funções de transformação de dados

Importando dados em Java

Vamos praticar!

Importando dados em Java

Preparing Video For Download...