arrange

pydiverse.transform.arrange(*order_by: ColExpr) Pipeable[source]

Sorts the rows of the table.

Parameters:

order_by – Column expressions to sort by. The order of the expressions determines the priority.

Examples

>>> t = pdt.Table(
...     {
...         "r": [2, 7, 3, 2, 6, None, 4],
...         "s": ["l", "o", "a", "c", "s", "---", "3"],
...         "p": [0.655, -4.33, None, 143.6, 0.0, 1.0, 4.5],
...     }
... )
>>> t >> arrange(t.r.nulls_first(), t.p) >> show()
shape: (7, 3)
┌──────┬─────┬───────┐
│ r    ┆ s   ┆ p     │
│ ---  ┆ --- ┆ ---   │
│ i64  ┆ str ┆ f64   │
╞══════╪═════╪═══════╡
│ null ┆ --- ┆ 1.0   │
│ 2    ┆ l   ┆ 0.655 │
│ 2    ┆ c   ┆ 143.6 │
│ 3    ┆ a   ┆ null  │
│ 4    ┆ 3   ┆ 4.5   │
│ 6    ┆ s   ┆ 0.0   │
│ 7    ┆ o   ┆ -4.33 │
└──────┴─────┴───────┘
>>> t >> arrange(t.p.nulls_last().descending(), t.s) >> show()
shape: (7, 3)
┌──────┬─────┬───────┐
│ r    ┆ s   ┆ p     │
│ ---  ┆ --- ┆ ---   │
│ i64  ┆ str ┆ f64   │
╞══════╪═════╪═══════╡
│ 2    ┆ c   ┆ 143.6 │
│ 4    ┆ 3   ┆ 4.5   │
│ null ┆ --- ┆ 1.0   │
│ 2    ┆ l   ┆ 0.655 │
│ 6    ┆ s   ┆ 0.0   │
│ 7    ┆ o   ┆ -4.33 │
│ 3    ┆ a   ┆ null  │
└──────┴─────┴───────┘