Get startedGet started for free

Filtering columns

As a grocery inventory analyst, you need to clean your inventory data to identify perishable items at risk of spoilage. Raw inventory data often includes irrelevant categories and inaccurate stock levels. To clean this data, you'll filter for the "Fruits & Vegetables" category and high stock levels (over 50 units). This process removes non-perishable items and low-stock products, giving you a clean dataset of fruits and vegetables with potential oversupply issues. By cleaning and focusing your data, you can quickly identify which perishable items need immediate attention.

This exercise is part of the course

Cleaning Data in Java

View Course

Exercise instructions

  • Check if the integer column Stock_Quantity is greater than 50.
  • Check if the string column Category is equal to Fruits & Vegetables.
  • Filter inventory by highQuantity.
  • Add a filter condition for fruitsAndVegetables.

Hands-on interactive exercise

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

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

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

        // Check if the integer column is greater than 50
        Selection highQuantity = inventory.____("Stock_Quantity").____(50);
        // Check if the string column is equal to Fruits & Vegetables
        Selection fruitsAndVegetables = inventory.____("Category").____("Fruits & Vegetables");

        // Filter inventory by highQuantity
        Table highQuantityTable = inventory.____(highQuantity
                // Add a filter for fruitsAndVegetables
                .____(fruitsAndVegetables))
                .sortDescendingOn("Stock_Quantity");

        System.out.println("High quantity fruits and vegetables:");
        System.out.println(highQuantityTable.selectColumns("Product_Name", "Stock_Quantity").first(10));
    }
}
Edit and Run Code