Patrones de transformación de datos

Importación de datos en Java

Anthony Markham

VP Quant Developer

Función map

  • Transforma cada elemento en una columna
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
Importación de datos en Java

Función reduce

  • Combina todos los valores de una columna en un solo resultado
  • Aplica un patrón acumulador (como suma, máximo o lógica personalizada)
  • Útil para operaciones estadísticas y analíticas
// Encuentra las ventas totales
double totalSales = table.doubleColumn("Sales").reduce(0, Double::sum);
250000
// Encuentra el máximo
double largeSales = table.doubleColumn("Sales").reduce(0, (acc, x) -> acc + (x > 5000 ? 1 : 0));
68
Importación de datos en Java

Iteración de filas con forEach

  • Itera a través de cada fila en una tabla
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
Importación de datos en Java

Pipelines de transformación

  • Encadena múltiples operaciones
  • Aumenta la legibilidad y mantenibilidad del código ✅
  • Procesamiento de datos eficiente ✅
Table result = originalTable
    .where(numberColumn("Age").isGreaterThan(18)) // Filtrar por Edad > 18

.addColumns( numberColumn("Income").map(i -> i * 1.1).setName("AdjustedIncome") );
// Calcular ingreso promedio double avgIncome = result.doubleColumn("AdjustedIncome") .reduce(0.0, Double::sum) / result.rowCount();
Importación de datos en Java

Resumen

  • map() - aplica una función para transformar valores de columna
  • forEach() - itera filas para acceder a múltiples columnas
  • reduce() - agrega y resume datos en valores únicos

Una imagen que muestra las tres funciones de transformación de datos

Importación de datos en Java

¡Vamos a practicar!

Importación de datos en Java

Preparing Video For Download...