Package-level declarations

Data structures, data frames, and manipulation utilities.

A DataFrame is a two-dimensional, potentially heterogeneous tabular data structure with labeled axes (rows and columns). It supports flexible row/column indexing, slicing, functional query operations (filtering, partitioning, grouping), operator overloading for intuitive access and manipulation, and JSON serialization.

Functions

Link copied to clipboard
operator fun Tuple.component1(): Any?
Link copied to clipboard
operator fun Tuple.component10(): Any?
Link copied to clipboard
operator fun Tuple.component11(): Any?
Link copied to clipboard
operator fun Tuple.component12(): Any?
Link copied to clipboard
operator fun Tuple.component13(): Any?
Link copied to clipboard
operator fun Tuple.component14(): Any?
Link copied to clipboard
operator fun Tuple.component15(): Any?
Link copied to clipboard
operator fun Tuple.component16(): Any?
Link copied to clipboard
operator fun Tuple.component2(): Any?
Link copied to clipboard
operator fun Tuple.component3(): Any?
Link copied to clipboard
operator fun Tuple.component4(): Any?
Link copied to clipboard
operator fun Tuple.component5(): Any?
Link copied to clipboard
operator fun Tuple.component6(): Any?
Link copied to clipboard
operator fun Tuple.component7(): Any?
Link copied to clipboard
operator fun Tuple.component8(): Any?
Link copied to clipboard
operator fun Tuple.component9(): Any?
Link copied to clipboard
operator fun DataFrame.contains(columnName: String): Boolean

Checks if a column exists in the DataFrame: "col" in df.

operator fun Tuple.contains(fieldName: String): Boolean

Checks if a field exists in the Tuple: "field" in tuple.

Link copied to clipboard
fun DataFrame.drop(range: IntProgression): DataFrame

Returns a new DataFrame without given column indices.

Link copied to clipboard
fun DataFrame.exists(predicate: (Tuple) -> Boolean): Boolean

Tests if a predicate holds for at least one row of the data frame.

Link copied to clipboard
fun DataFrame.filter(predicate: (Tuple) -> Boolean): DataFrame

Selects all rows which satisfy a predicate.

Link copied to clipboard
fun DataFrame.find(predicate: (Tuple) -> Boolean): Tuple?

Finds the first row satisfying a predicate, or null if none.

Link copied to clipboard
fun DataFrame.forall(predicate: (Tuple) -> Boolean): Boolean

Tests if a predicate holds for all rows of the data frame.

Link copied to clipboard
operator fun DataFrame.get(name: String): ValueVector

Returns a column as a ValueVector by name: df["columnName"].

operator fun DataFrame.get(range: IntProgression): DataFrame

Slices rows by IntProgression: df[0 until 10] or df[0..9].

operator fun DataFrame.get(vararg names: String): DataFrame

Selects multiple columns by names: df["col1", "col2"].

operator fun DataFrame.get(i: Int, colName: String): Any?

Returns a cell value by row index and column name: df[0, "colName"].

Link copied to clipboard
fun <K> DataFrame.groupBy(keySelector: (Tuple) -> K): Map<K, DataFrame>

Partitions the DataFrame into a map of DataFrames according to a discriminator function.

Link copied to clipboard
operator fun DataFrame.invoke(index: BooleanArray): DataFrame

Filters rows by boolean mask: df(mask).

operator fun DataFrame.invoke(predicate: (Tuple) -> Boolean): DataFrame

Filters rows using a predicate: df { it.getDouble("col") > 5.0 }.

operator fun DataFrame.invoke(i: Int): Tuple

Returns row at index i: df(i).

operator fun DataFrame.invoke(name: String): ValueVector

Returns column by name: df("name").

operator fun DataFrame.invoke(range: IntProgression): DataFrame

Slices rows by IntProgression: df(0 until 10).

operator fun DataFrame.invoke(index: Index): DataFrame

Filters rows by Index: df(index).

operator fun DataFrame.invoke(vararg names: String): DataFrame

Selects columns by names: df("col1", "col2").

operator fun Tuple.invoke(i: Int): Any?

Returns field value at position i: tuple(i).

operator fun Tuple.invoke(field: String): Any?

Returns field value by name: tuple("field").

operator fun ValueVector.invoke(i: Int): Any?

Returns element at index i: vector(i).

operator fun DataFrame.invoke(i: Int, j: Int): Any?

Returns cell value at (i, j): df(i, j).

operator fun DataFrame.invoke(i: Int, colName: String): Any?

Returns cell value at row i and column name: df(i, "colName").

Link copied to clipboard
fun <U> DataFrame.map(transform: (Tuple) -> U): List<U>

Builds a new list by applying a function to all rows.

Link copied to clipboard
operator fun DataFrame.minus(columnNames: Array<String>): DataFrame

Drops columns by names, returning a new DataFrame: df - arrayOf("col1", "col2").

operator fun DataFrame.minus(columnName: String): DataFrame

Drops a column by name, returning a new DataFrame: df - "unwantedCol".

operator fun DataFrame.minus(columnNames: Collection<String>): DataFrame

Drops columns by names, returning a new DataFrame: df - listOf("col1", "col2").

Link copied to clipboard
fun DataFrame.of(range: IntProgression): DataFrame

Returns a new DataFrame with row indexing by range.

Link copied to clipboard
fun DataFrame.partition(predicate: (Tuple) -> Boolean): Pair<DataFrame, DataFrame>

Partitions this DataFrame into two according to a predicate.

Link copied to clipboard
operator fun DataFrame.plus(other: DataFrame): DataFrame

Concatenates two DataFrames vertically: df1 + df2.

operator fun DataFrame.plus(column: ValueVector): DataFrame

Adds a column to a new DataFrame copy: df + vector.

Link copied to clipboard
fun DataFrame.select(range: IntProgression): DataFrame

Selects a new DataFrame with given column indices.

Link copied to clipboard
operator fun DataFrame.set(i: Int, colName: String, value: Any?)

Sets a cell value by row index and column name: df[0, "colName"] = value.

Link copied to clipboard

Prints the statistics of min, q1, median, mean, q3, and max.

Link copied to clipboard
fun DataFrame.toJSON(): String

Converts this DataFrame to a JSON string representation.

fun Tuple.toJSON(): String

Converts this Tuple to a JSON string representation.