Version: Python

# Formulas

Formulas are used to filter tables or to assign data to columns. The following language features can be used to construct a formula:

## Usage​

### Boolean formulas​

If a formula returns a boolean value (`true` or `false`), it is known as a boolean filter and can be used with filter methods. For example:

``table.where(filters=["X > 3", "Y % 4 == 1", "Z.startsWith(`Deephaven`)"])``

Boolean formulas in filter methods are also known as conditional filters.

### Assignment formulas​

If a formula returns a value, it can be used with selection methods to create columns. For example:

``table.update(formulas=["X = 3.14", "Y = sqrt(A) + 3"])``

## Examples​

### Boolean formulas​

Formulas designed to return a boolean value are useful to narrow data sets to only desired values. In this example, operators are used with functions to limit values in result tables.

``from deephaven import new_tablefrom deephaven.column import string_col, int_coldef f(a, b):    return a * bsource = new_table(    [        string_col("X", ["A", "B", "C", "D", "E", "F", "G"]),        int_col("Y", [1, 2, 3, 4, 5, 6, 7]),        int_col("Z", [2, 3, 1, 2, 3, 1, 2]),    ])result = source.where(filters=["(int)f(Y, Z) > 9"])``

### Assignment formulas​

Formulas can also assign new values. In this example, operators are used with objects to create new columns of values.

``from deephaven import empty_tableclass MyObj:    def __init__(self, a, b, c):        self.a = a        self.b = b        self.c = c    def compute(self, value1):        return self.a + value1obj = MyObj(1, 2, 3)result = empty_table(10).update(    formulas=[        "A = i",        "B = A * A",        "C = A / 2",        "D = A % 3",        "E = (int)C",        "F = A_[i-2]",        "G = obj.a",        "H = obj.compute(A)",        "I = sqrt(A)",    ])``