Numerieke data transformeren
Als voorraadanalist bij een supermarkt moet je de totale waarde van je voorraad berekenen. Je gegevens bevatten productaantallen en eenheidsprijzen, maar je moet die combineren om de voorraadwaarde te bepalen. Omdat aantallen als integers zijn opgeslagen, moet je ze eerst omzetten naar doubles voordat je met prijzen vermenigvuldigt. Bereken de totale waarde per product en maak een nieuwe kolom om je voorraadinvestering bij te houden.
tablesaw-packages zijn al voor je geïmporteerd.
Deze oefening maakt deel uit van de cursus
Data opschonen in Java
Oefeninstructies
- Print het gegevenstype van elke kolom.
- Zet de integer-kolom
Stock_Quantityom naar een double-kolom. - Vermenigvuldig
quantitymetunitPrice.
Interactieve oefening met praktijkervaring
Probeer deze oefening door deze voorbeeldcode aan te vullen.
public class GroceryDataTransformation {
public static void main(String[] args) {
Table inventory = Table.read().csv("grocery_inventory.csv");
System.out.println("Column datatypes:");
for (String columnName : inventory.columnNames()) {
// Print the data type of each column
System.out.println(columnName + ": " + inventory.____(columnName).____());
}
// Convert the integer column to a double column
DoubleColumn quantity = inventory.____("Stock_Quantity").____();
DoubleColumn unitPrice = inventory.doubleColumn("Unit_Price");
// Multiply the quantity by the unit price
DoubleColumn totalValue = ____.____(unitPrice)
.setName("Total_Value");
inventory.addColumns(totalValue);
System.out.println("\nMultiplying two columns: Stock_Quantity * Unit_Price = Total_Value");
System.out.println(inventory.selectColumns("Product_Name", "Stock_Quantity", "Unit_Price", "Total_Value")
.first(4).print());
}
}