columna API reference - v0.5.0
    Preparing search index...

    Class Expr<T, N>

    Static value type of an expression (T) and its output column name (N, set by alias). Both are phantom: col('x') is Expr<any> (nothing is known about a column named by string), c.x from a typed frame's column refs is Expr<S['x'], 'x'>, comparisons produce Expr<boolean>, arithmetic Expr<number>. Frames use them to type filter, withColumn(s), select and agg results. Transformations create unnamed expressions: use alias() last to name a computed output. asc() / desc() only wrap an existing expression and retain its name.

    Type Parameters

    • T = any
    • N extends string = string
    Index
    • Type Parameters

      • T = any
      • N extends string = string

      Parameters

      • node: ExprNode

      Returns Expr<T, N>

    node: ExprNode
    • get dt(): DtNamespace

      Returns DtNamespace

    • get str(): StrNamespace

      Returns StrNamespace

    • Returns Expr<number>

    • Parameters

      Returns Expr<number>

    • Type Parameters

      • M extends string

      Parameters

      • name: M

      Returns Expr<T, M>

    • Parameters

      Returns Expr<boolean>

    • Parameters

      • Optionaloptions: { nullsLast?: boolean }

      Returns { descending: boolean; expr: Expr<T, N>; nullsLast?: boolean }

    • Returns Expr<number>

    • Parameters

      • Optionalmin: number
      • Optionalmax: number

      Returns Expr<T>

    • Returns Expr<number>

    • Parameters

      • Optionaloptions: { nullsLast?: boolean }

      Returns { descending: boolean; expr: Expr<T, N>; nullsLast?: boolean }

    • Parameters

      • Optionalperiods: number

      Returns Expr<number | null>

    • Parameters

      Returns Expr<number>

    • Parameters

      • other: string | number | boolean | AnyExpr | null

      Returns Expr<boolean>

    • Returns Expr<number>

    • Type Parameters

      • V extends string | number | boolean

      Parameters

      • value: V

      Returns Expr<V | Exclude<T, null>>

    • Returns Expr<T>

    • Returns Expr<number>

    • Parameters

      • other: string | number | boolean | AnyExpr | null

      Returns Expr<boolean>

    • Parameters

      • other: string | number | boolean | AnyExpr | null

      Returns Expr<boolean>

    • Parameters

      • low: string | number | AnyExpr
      • high: string | number | AnyExpr
      • Optionalclosed: "left" | "right" | "both" | "neither"

      Returns Expr<boolean>

    • Parameters

      • values: (string | number | boolean | null)[]

      Returns Expr<boolean>

    • Returns Expr<boolean>

    • Returns Expr<boolean>

    • Returns Expr<T>

    • Natural log by default; pass base for log_b (e.g. log(10)).

      Parameters

      • Optionalbase: number

      Returns Expr<number>

    • Returns Expr

    • Returns Expr

    • Parameters

      • other: string | number | boolean | AnyExpr | null

      Returns Expr<boolean>

    • Parameters

      • other: string | number | boolean | AnyExpr | null

      Returns Expr<boolean>

    • Type Parameters

      • R extends string | number | boolean | null

      Parameters

      • fn: (value: string | number | boolean | null) => R

      Returns Expr<R>

    • Returns Expr<T>

    • Returns Expr<number>

    • Median. method: 'linear' (default; type 7, pandas / polars) or 'minitab' (type 6, position p(n + 1)) — both give the middle value / midpoint for the median, the choice matters for other quantiles.

      Parameters

      • Optionalmethod: QuantileMethod

      Returns Expr<number>

    • Returns Expr<T>

    • Parameters

      Returns Expr<number>

    • Parameters

      Returns Expr<number>

    • Returns Expr<number>

    • Parameters

      • other: string | number | boolean | AnyExpr | null

      Returns Expr<boolean>

    • Returns Expr<boolean>

    • Returns Expr<number>

    • Parameters

      Returns Expr<boolean>

    • Window: aggregates inside this expression are computed per partition and broadcast back to each row of the partition (polars over, SQL … OVER (PARTITION BY …)). col('x').mean().over('g') // group mean on every row col('x').sub(col('x').mean()).over('g') // deviation from own group's mean col('x').div(col('x').sum().over(['a', 'b'])) // share within (a, b)

      Parameters

      • partitionBy: string | string[]
      • Optionaloptions: { descending?: boolean; orderBy?: string | string[] }
        • Optionaldescending?: boolean
        • OptionalorderBy?: string | string[]

          Running (cumulative) aggregates in this row order — SQL OVER (PARTITION BY … ORDER BY …) / polars cum_sum().over().

      Returns Expr<T>

    • Parameters

      • Optionalperiods: number

      Returns Expr<number | null>

    • Parameters

      Returns Expr<number>

    • Sample quantile q ∈ [0, 1]. col('x').quantile(0.25) // type 7: position (n − 1)q, linear interpolation (pandas default) col('x').quantile(0.25, 'minitab') // type 6: position q(n + 1), clamped to the sample — Minitab / SPSS / R type=6

      Parameters

      • q: number
      • Optionalmethod: QuantileMethod

      Returns Expr<number>

    • Round half away from zero (Minitab / Excel ROUND) to decimals places.

      Parameters

      • Optionaldecimals: number

      Returns Expr<number>

    • Parameters

      • Optionalperiods: number

      Returns Expr<T | null>

    • Returns Expr<number>

    • Returns Expr<number>

    • Returns Expr<number>

    • Parameters

      Returns Expr<number>

    • Returns Expr<number>

    • Returns Expr<number>