Get startedGet started for free

Aggregating columns

You need to clean and analyze your stock data to understand high-value inventory patterns. Raw inventory data often includes irrelevant items and needs organization by category. Clean the data by filtering for expensive items (over $5), then calculate accurate totals, and organize by category. This cleaned and summarized view helps identify which departments have the most investment in premium products.

This exercise is part of the course

Cleaning Data in Java

View Course

Exercise instructions

  • Find expensive items (Unit_Price > $5.00).
  • Calculate the total Stock_Quantity for each category.
  • Group results by Category.

Hands-on interactive exercise

Have a go at this exercise by completing this sample code.

import static tech.tablesaw.aggregate.AggregateFunctions.sum;

import tech.tablesaw.api.Table;
import tech.tablesaw.selection.Selection;

public class GroceryDataAggregation {
    public static void main(String[] args) {
        Table inventory = Table.read().csv("grocery_inventory.csv");

        Table quantityByCategory = inventory
                // Find expensive items (price > $5.00)
                .where(inventory.doubleColumn("Unit_Price").____(5.0))
                // Calculate total stock for each category
                .____("Stock_Quantity", ____)
                // Group results by product category
                .____("Category");

        System.out.println("Total quantity by category:");
        System.out.println(quantityByCategory.first(5));
    }
}
Edit and Run Code