Dataanalys med JSON
Nu när produktkatalogen är inläst har marknadsavdelningen begärt en prisrapport. De vill veta genomsnittspriset, hitta den dyraste produkten och se hur produkterna fördelar sig mellan kategorier.
Det praktiska är att när JSON-data väl finns i en Tablesaw-tabell kan du använda samma kolumnoperationer som du redan känner till.
Klasserna JsonReader, JsonReadOptions och Table har importerats, och filen products.json innehåller kolumnerna name, price och category.
Den här övningen är en del av kursen
Importera data i Java
Övningsinstruktioner
- Färdigställ JSON-inläsningen för att läsa in produkttabellen.
- Beräkna genomsnittspriset med en kolumnmetod.
- Hitta det högsta priset i datamängden.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
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());
}
}