04
DataFrame
DataFrame Basics
Learn fundamental DataFrame operations for working with tabular data. Covers creation, selection, filtering, and sorting — for tabular data analysis. This example uses deepbox/dataframe and focuses on DataFrame, get, select, filter, sort, head, tail.
Deepbox Modules Used
deepbox/dataframeWhat You Will Learn
- Use deepbox/dataframe for DataFrame, get, select, filter, sort, head, tail.
- Learn fundamental DataFrame operations for working with tabular data. Covers creation, selection, filtering, and sorting — for tabular data analysis.
Source Files
index.ts
1/**2 * Example 04: DataFrame Basics3 *4 * Learn fundamental DataFrame operations for working with tabular data.5 * Covers creation, selection, filtering, and sorting.6 * DataFrames are for tabular data analysis.7 */89import { DataFrame } from "deepbox/dataframe";1011const expectNumber = (value: unknown): number => {12 if (typeof value !== "number") {13 throw new Error("Expected number");14 }15 return value;16};1718console.log("=== DataFrame Basics ===\n");1920// Create a DataFrame from an object with column arrays2122// Creating a DataFrame from an object23const df = new DataFrame({24 name: ["Alice", "Bob", "Charlie", "David", "Eve"],25 age: [25, 30, 35, 28, 32],26 salary: [50000, 60000, 75000, 55000, 70000],27 department: ["IT", "HR", "IT", "Sales", "HR"],28});2930// Display the complete DataFrame31console.log("Full DataFrame:");32console.log(df.toString());3334// Display DataFrame dimensions35console.log(`\nShape: ${df.shape[0]} rows × ${df.shape[1]} columns`);3637// Access individual columns38console.log("\nColumn Access:");39console.log(`Columns: ${df.columns.join(", ")}\n`);4041// Accessing columns42// Get a single column as a Series43const ages = df.get("age");44console.log("Age column:");45console.log(`${ages.toString()}\n`);4647// Selecting specific columns48// Select multiple columns at once49const subset = df.select(["name", "salary"]);50console.log("\nSelecting Multiple Columns:");51console.log("Selected columns (name, salary):");52console.log(`${subset.toString()}\n`);5354// Filtering rows55// Filter for high earners (salary > 60000)56const highEarners = df.filter((row) => expectNumber(row.salary) > 60000);57console.log("Employees with salary > 60000:");58console.log(`${highEarners.toString()}\n`);5960// Sorting61// Sort by salary in descending order62const sortedBySalary = df.sort("salary", false);63console.log("\nSorting:");64console.log("Sorted by salary (descending):");65console.log(`${sortedBySalary.toString()}\n`);6667// Head and tail68console.log("\nFiltering Rows:");69console.log("First 3 rows:");70console.log(`${df.head(3).toString()}\n`);7172console.log("Last 2 rows:");73console.log(`${df.tail(2).toString()}\n`);7475console.log("✓ DataFrame basics complete!");76Console Output
$ npx tsx 04-dataframe-basics/index.ts
Console output showing DataFrame creation, column access, filtering, sorting, and head/tail operations