Choose exactly which columns you need for your analysis. Essential for data preparation, performance optimization, and creating clean datasets.
The most common operation is selecting specific columns from your DataFrame. This is essential for focusing your analysis and improving performance.
import { createDataFrame } from "@tidy-ts/dataframe";
const jedi = createDataFrame([
{ id: 1, name: "Luke Skywalker", age: 19, planet: "Tatooine", midichlorianCount: 15000 },
{ id: 2, name: "Obi-Wan Kenobi", age: 57, planet: "Stewjon", midichlorianCount: 13000 },
{ id: 3, name: "Yoda", age: 900, planet: "Unknown", midichlorianCount: 17000 },
]);
// Select specific columns
const selected = jedi.select("name", "age");
selected.print("Selected columns:");
import { createDataFrame } from "@tidy-ts/dataframe";
const jedi = createDataFrame([
{ id: 1, name: "Luke Skywalker", age: 19, planet: "Tatooine", midichlorianCount: 15000 },
{ id: 2, name: "Obi-Wan Kenobi", age: 57, planet: "Stewjon", midichlorianCount: 13000 },
{ id: 3, name: "Yoda", age: 900, planet: "Unknown", midichlorianCount: 17000 },
]);
// Select specific columns
const selected = jedi.select("name", "age");
selected.print("Selected columns:");
Sometimes it's easier to specify which columns to remove rather than which to keep, especially when you have many columns.
const jedi = createDataFrame([
{ id: 1, name: "Luke Skywalker", age: 19, planet: "Tatooine", midichlorianCount: 15000 },
{ id: 2, name: "Obi-Wan Kenobi", age: 57, planet: "Stewjon", midichlorianCount: 13000 },
{ id: 3, name: "Yoda", age: 900, planet: "Unknown", midichlorianCount: 17000 },
]);
// Drop specific columns
const dropped = jedi.drop("id", "planet");
dropped.print("After dropping columns:");
const jedi = createDataFrame([
{ id: 1, name: "Luke Skywalker", age: 19, planet: "Tatooine", midichlorianCount: 15000 },
{ id: 2, name: "Obi-Wan Kenobi", age: 57, planet: "Stewjon", midichlorianCount: 13000 },
{ id: 3, name: "Yoda", age: 900, planet: "Unknown", midichlorianCount: 17000 },
]);
// Drop specific columns
const dropped = jedi.drop("id", "planet");
dropped.print("After dropping columns:");
You can access entire columns as typed arrays, which is useful for further analysis or passing data to other functions.
const jedi = createDataFrame([
{ id: 1, name: "Luke Skywalker", age: 19, planet: "Tatooine", midichlorianCount: 15000 },
{ id: 2, name: "Obi-Wan Kenobi", age: 57, planet: "Stewjon", midichlorianCount: 13000 },
{ id: 3, name: "Yoda", age: 900, planet: "Unknown", midichlorianCount: 17000 },
]);
// Access individual columns
const names = jedi.name;
const ages = jedi.age;
console.log("Jedi names:", names);
console.log("Jedi ages:", ages);
const jedi = createDataFrame([
{ id: 1, name: "Luke Skywalker", age: 19, planet: "Tatooine", midichlorianCount: 15000 },
{ id: 2, name: "Obi-Wan Kenobi", age: 57, planet: "Stewjon", midichlorianCount: 13000 },
{ id: 3, name: "Yoda", age: 900, planet: "Unknown", midichlorianCount: 17000 },
]);
// Access individual columns
const names = jedi.name;
const ages = jedi.age;
console.log("Jedi names:", names);
console.log("Jedi ages:", ages);
Extract methods provide flexible ways to get specific values from columns, such as the first value, last value, or random samples.
const jedi = createDataFrame([
{ id: 1, name: "Luke Skywalker", age: 19, planet: "Tatooine", midichlorianCount: 15000 },
{ id: 2, name: "Obi-Wan Kenobi", age: 57, planet: "Stewjon", midichlorianCount: 13000 },
{ id: 3, name: "Yoda", age: 900, planet: "Unknown", midichlorianCount: 17000 },
]);
// Extract specific values
const firstJedi = jedi.extractHead("name", 1);
const lastJedi = jedi.extractTail("name", 1);
const allNames = jedi.extract("name");
console.log("First Jedi:", firstJedi);
console.log("Last Jedi:", lastJedi);
console.log("All Jedi names:", allNames);
const jedi = createDataFrame([
{ id: 1, name: "Luke Skywalker", age: 19, planet: "Tatooine", midichlorianCount: 15000 },
{ id: 2, name: "Obi-Wan Kenobi", age: 57, planet: "Stewjon", midichlorianCount: 13000 },
{ id: 3, name: "Yoda", age: 900, planet: "Unknown", midichlorianCount: 17000 },
]);
// Extract specific values
const firstJedi = jedi.extractHead("name", 1);
const lastJedi = jedi.extractTail("name", 1);
const allNames = jedi.extract("name");
console.log("First Jedi:", firstJedi);
console.log("Last Jedi:", lastJedi);
console.log("All Jedi names:", allNames);