Análisis de datos JSON
Con el catálogo de productos cargado, el equipo de marketing ha pedido un informe de precios. Quieren conocer el precio medio, identificar el producto más caro y ver cómo se distribuyen los productos por categorías.
La buena noticia: una vez que los datos JSON están en una tabla de Tablesaw, puedes usar las mismas operaciones de columna que ya conoces.
Se han importado las clases JsonReader, JsonReadOptions y Table, y el archivo products.json contiene las columnas name, price y category.
Este ejercicio forma parte del curso
Importación de datos en Java
Instrucciones del ejercicio
- Completa la lectura de JSON para cargar la tabla de productos.
- Calcula el precio medio usando un método de columna.
- Busca el precio máximo en el conjunto de datos.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
public class JSONAnalysis {
public static void main(String[] args) {
// Complete the JSON read
JsonReadOptions options = JsonReadOptions.builder("products.json").build();
Table products = new JsonReader().____(options);
// Calculate average price
double avgPrice = products.doubleColumn("price").____();
// Find maximum price
DoubleColumn priceCol = products.doubleColumn("price");
double maxPrice = ____.____();
String mostExpensive = products
.where(priceCol.isEqualTo(maxPrice))
.stringColumn("name").get(0);
Table categoryCount = products.countBy("category");
System.out.println("Product Analytics Report:");
System.out.println("========================");
System.out.printf("Average Price: $%.2f%n", avgPrice);
System.out.println("Most Expensive: " + mostExpensive + " ($" + maxPrice + ")");
System.out.println("\nCategory Distribution:");
System.out.println(categoryCount.print());
}
}