← Back to playground index

filter

Filter a DataFrame's rows or columns by label using exact names, substring matching, or regular expressions. Mirrors pandas.DataFrame.filter.

filterDataFrame — by items (column names)

Python pandas equivalent:

import pandas as pd

df = pd.DataFrame({"one": [1, 2], "two": [3, 4], "three": [5, 6]})
print(df.filter(items=["one", "three"]).columns.tolist())
# ['one', 'three']

tsb equivalent:

import { DataFrame, filterDataFrame } from "tsb";

const df = DataFrame.fromColumns({ one: [1, 2], two: [3, 4], three: [5, 6] });
filterDataFrame(df, { items: ["one", "three"] }).columns.values;
// ["one", "three"]

filterDataFrame — by like (substring)

Python pandas equivalent:

import pandas as pd

df = pd.DataFrame({"apple": [1], "apricot": [2], "banana": [3]})
print(df.filter(like="ap").columns.tolist())
# ['apple', 'apricot']

tsb equivalent:

import { DataFrame, filterDataFrame } from "tsb";

const df = DataFrame.fromColumns({ apple: [1], apricot: [2], banana: [3] });
filterDataFrame(df, { like: "ap" }).columns.values;
// ["apple", "apricot"]

filterDataFrame — by regex

Python pandas equivalent:

import pandas as pd

df = pd.DataFrame({"a1": [1], "a2": [2], "b1": [3], "b2": [4]})
print(df.filter(regex="^a").columns.tolist())
# ['a1', 'a2']

tsb equivalent:

import { DataFrame, filterDataFrame } from "tsb";

const df = DataFrame.fromColumns({ a1: [1], a2: [2], b1: [3], b2: [4] });
filterDataFrame(df, { regex: "^a" }).columns.values;
// ["a1", "a2"]

filterDataFrame — filter rows (axis=0)

Python pandas equivalent:

import pandas as pd

df = pd.DataFrame(
    {"x": [10, 20, 30]},
    index=["foo", "bar", "baz"],
)
print(df.filter(like="ba", axis=0).index.tolist())
# ['bar', 'baz']

tsb equivalent:

import { DataFrame, filterDataFrame } from "tsb";

const df = DataFrame.fromColumns({ x: [10, 20, 30] }, { index: ["foo", "bar", "baz"] });
filterDataFrame(df, { like: "ba", axis: 0 }).index.values;
// ["bar", "baz"]

filterSeries — by label

Python pandas equivalent:

import pandas as pd

s = pd.Series([1, 2, 3, 4], index=["alpha", "beta", "gamma", "aleph"])
print(s.filter(like="al").index.tolist())
# ['alpha', 'aleph']

tsb equivalent:

import { Series, filterSeries } from "tsb";

const s = new Series({ data: [1, 2, 3, 4], index: ["alpha", "beta", "gamma", "aleph"] });
filterSeries(s, { like: "al" }).index.values;
// ["alpha", "aleph"]