Skip to content

Numeric Expressions

These APIs are available on numeric and boolean expressions.

numeric

Classes

DecimalValue (NumericValue)

Methods
precision(self)

Return the precision of arg.

Returns

IntegerValue The precision of the expression.

scale(self)

Return the scale of arg.

Returns

IntegerValue The scale of the expression.

FloatingValue (NumericValue)

Methods
isinf(self)

Return whether the value is infinity.

isnan(self)

Return whether the value is NaN.

IntegerColumn (NumericColumn, IntegerValue)

Methods
bit_and(self, where=None)

Aggregate the column using the bitwise and operator.

bit_or(self, where=None)

Aggregate the column using the bitwise or operator.

bit_xor(self, where=None)

Aggregate the column using the bitwise exclusive or operator.

IntegerValue (NumericValue)

Methods
convert_base(self, from_base, to_base)

Convert an integer from one base to another.

Parameters

from_base Numeric base of expression to_base New base

Returns

IntegerValue Converted expression

to_interval(self, unit='s')

Convert an integer to an interval.

Parameters

unit Unit for the resulting interval

Returns

IntervalValue An interval in units of unit

to_timestamp(self, unit='s')

Convert an integral UNIX timestamp to a timestamp expression.

Parameters

unit The resolution of arg

Returns

TimestampValue self converted to a timestamp

NumericColumn (Column, NumericValue)

Methods
bucket(self, buckets, closed='left', close_extreme=True, include_under=False, include_over=False)

Compute a discrete binning of a numeric array.

Parameters

buckets List of buckets closed Which side of each interval is closed. For example:

```python
buckets = [0, 100, 200]
closed = "left"  # 100 falls in 2nd bucket
closed = "right"  # 100 falls in 1st bucket
```

close_extreme Whether the extreme values fall in the last bucket include_over Include values greater than the last bucket in the last bucket include_under Include values less than the first bucket in the first bucket

Returns

CategoryColumn A categorical column expression

corr(self, right, where=None, how='sample')

Return the correlation of two numeric columns.

Parameters

right Numeric column where Filter how Population or sample correlation

Returns

NumericScalar The correlation of left and right

cov(self, right, where=None, how='sample')

Return the covariance of two numeric columns.

Parameters

right Numeric column where Filter how Population or sample covariance

Returns

NumericScalar The covariance of self and right

histogram(self, nbins=None, binwidth=None, base=None, closed='left', aux_hash=None)

Compute a histogram with fixed width bins.

Parameters

nbins If supplied, will be used to compute the binwidth binwidth If not supplied, computed from the data (actual max and min values) base Histogram base closed Which side of each interval is closed aux_hash Auxiliary hash value to add to bucket names

Returns

CategoryColumn Coded value expression

mean(self, where=None)

Return the mean of a numeric column.

Parameters

where Filter

Returns

NumericScalar The mean of the input expression

quantile(self, quantile, interpolation='linear')

Return value at the given quantile.

Parameters

quantile 0 <= quantile <= 1, the quantile(s) to compute interpolation This optional parameter specifies the interpolation method to use, when the desired quantile lies between two data points i and j:

* linear: `i + (j - i) * fraction`, where `fraction` is the
  fractional part of the index surrounded by `i` and `j`.
* lower: `i`.
* higher: `j`.
* nearest: `i` or `j` whichever is nearest.
* midpoint: (`i` + `j`) / 2.
Returns

NumericScalar Quantile of the input

std(self, where=None, how='sample')

Return the standard deviation of a numeric column.

Parameters

where Filter how Sample or population standard deviation

Returns

NumericScalar Standard deviation of arg

sum(self, where=None)

Return the sum of a numeric column.

Parameters

where Filter

Returns

NumericScalar The sum of the input expression

summary(self, exact_nunique=False, prefix='', suffix='')

Compute a set of summary metrics from the input numeric value expression.

Parameters

exact_nunique Compute the exact number of distinct values. Typically slower if True. prefix String prefix for metric names suffix String suffix for metric names

Returns

list[NumericScalar] Metrics list

var(self, where=None, how='sample')

Return the variance of a numeric column.

Parameters

where Filter how Sample or population variance

Returns

NumericScalar Standard deviation of arg

NumericValue (Value)

Methods
abs(self)

Return the absolute value of self.

acos(self)

Compute the arc cosine of self.

add(self, other)

Add self with other.

asin(self)

Compute the arc sine of self.

atan(self)

Compute the arc tangent of self.

atan2(self, other)

Compute the two-argument version of arc tangent.

ceil(self)

Return the ceiling of self.

clip(self, lower=None, upper=None)

Trim values outside of lower and upper bounds.

Parameters

lower Lower bound upper Upper bound

Returns

NumericValue Clipped input

cos(self)

Compute the cosine of self.

cot(self)

Compute the cotangent of self.

deg2rad(self)

Compute radians from self degrees.

degrees(self)

Compute the degrees of self radians.

div(self, other)

Divide self by other.

exp(self)

Compute \(e^\texttt{self}\).

Returns

NumericValue \(e^\texttt{self}\)

floor(self)

Return the floor of an expression.

floordiv(self, other)

Floor divide self by other.

ln(self)

Compute \(\ln\left(\texttt{self}\right)\).

log(self, base=None)

Return the logarithm using a specified base.

Parameters

base The base of the logarithm. If None, base e is used.

Returns

NumericValue Logarithm of arg with base base

log10(self)

Compute \(\log_{10}\left(\texttt{self}\right)\).

log2(self)

Compute \(\log_{2}\left(\texttt{self}\right)\).

mod(self, other)

Compute self modulo other.

mul(self, other)

Multiply self and other.

negate(self)

Negate a numeric expression.

Returns

NumericValue A numeric value expression

nullifzero(self)

Return NULL if an expression is zero.

point(self, right)

Return a point constructed from the coordinate values.

Constant coordinates result in construction of a POINT literal or column.

Parameters

right Y coordinate

Returns

PointValue Points

pow(self, other)

Raise self to the otherth power.

rad2deg(self)

Compute the degrees of self radians.

radd(self, other)

Add self with other.

radians(self)

Compute radians from self degrees.

rdiv(self, other)

Divide other by self.

rfloordiv(self, other)

Floor divide other by self.

rmod(self, other)

Compute other modulo self.

rmul(self, other)

Multiply self and other.

round(self, digits=None)

Round values to an indicated number of decimal places.

Parameters

digits The number of digits to round to.

Here's how the `digits` parameter affects the expression output
type:

|   `digits`    | `self.type()` |  Output   |
| :-----------: | :-----------: | :-------: |
| `None` or `0` |   `decimal`   | `decimal` |
|    Nonzero    |   `decimal`   | `decimal` |
| `None` or `0` |   Floating    |  `int64`  |
|    Nonzero    |   Floating    | `float64` |
Returns

NumericValue The rounded expression

rpow(self, other)

Raise other to the selfth power.

rsub(self, other)

Substract self from other.

sign(self)

Return the sign of the input.

sin(self)

Compute the sine of self.

sqrt(self)

Compute the square root of self.

sub(self, other)

Substract other from self.

tan(self)

Compute the tangent of self.

zeroifnull(self)

Return zero if an expression is NULL.

logical

Classes

BooleanValue (NumericValue)

Methods
ifelse(self, true_expr, false_expr)

Construct a ternary conditional expression.

Parameters

true_expr Expression to return if self evaluates to True false_expr Expression to return if self evaluates to False

Returns

Value The value of true_expr if arg is True else false_expr

Examples

import ibis t = ibis.table([("is_person", "boolean")], name="t") expr = t.is_person.ifelse("yes", "no") print(ibis.impala.compile(expr)) SELECT CASE WHEN is_person THEN 'yes' ELSE 'no' END AS tmp FROM t


Last update: February 3, 2022