Example 05
beginner
05
DataFrame

DataFrame GroupBy & Aggregation

Learn to group and aggregate data for analysis. Similar to SQL GROUP BY operations. This example uses deepbox/dataframe and focuses on DataFrame, groupBy, agg.

Deepbox Modules Used

deepbox/dataframe

What You Will Learn

  • Use deepbox/dataframe for DataFrame, groupBy, agg.
  • Learn to group and aggregate data for analysis. Similar to SQL GROUP BY operations.

Source Files

index.ts
1/**2 * Example 05: DataFrame GroupBy & Aggregation3 *4 * Learn to group and aggregate data for analysis.5 * Similar to SQL GROUP BY operations.6 */78import { DataFrame } from "deepbox/dataframe";910console.log("=== DataFrame GroupBy & Aggregation ===\n");1112// Create sample sales data13const sales = new DataFrame({14  product: ["Laptop", "Mouse", "Laptop", "Keyboard", "Mouse", "Laptop", "Keyboard", "Mouse"],15  region: ["North", "North", "South", "North", "South", "North", "South", "South"],16  quantity: [5, 20, 3, 15, 25, 4, 10, 30],17  revenue: [5000, 400, 3000, 450, 500, 4000, 300, 600],18});1920// Display the raw data21console.log("Sales Data:");22console.log(`${sales.toString()}\n`);2324// Group by a single column and aggregate25console.log("\nGroup by single column");26// Group by product and calculate total sales27const byProduct = sales.groupBy("product");28const productStats = byProduct.agg({29  quantity: "sum",30  revenue: "sum",31});3233console.log("Sales by Product:");34console.log(`${productStats.toString()}\n`);3536// Group by region37// Calculate average sales by region38const byRegion = sales.groupBy("region");39const regionStats = byRegion.agg({40  quantity: "mean",41  revenue: "mean",42});4344console.log("Average Sales by Region:");45console.log(`${regionStats.toString()}\n`);4647// Perform multiple aggregations at once48console.log("\nMultiple aggregations");49// Calculate sum, mean, and count for each product50const detailedStats = byProduct.agg({51  quantity: "sum",52  revenue: "mean",53});5455console.log("Detailed Product Statistics:");56console.log(`${detailedStats.toString()}\n`);5758console.log("✓ GroupBy operations complete!");59

Console Output

$ npx tsx 05-dataframe-groupby/index.ts
Console output showing grouped sales data with sum and mean aggregations by product and region