Numpy interop
Polars
expressions support NumPy
ufuncs. See here
for a list on all supported numpy functions.
This means that if a function is not provided by Polars
, we can use NumPy
and we still have fast columnar operation through
the NumPy
API.
Example
import polars as pl
import numpy as np
df = pl.DataFrame({"a": [1, 2, 3], "b": [4, 5, 6]})
out = df.select(
[
np.log(pl.all()).suffix("_log"),
]
)
print(out)
shape: (3, 2)
┌──────────┬──────────┐
│ a_log ┆ b_log │
│ --- ┆ --- │
│ f64 ┆ f64 │
╞══════════╪══════════╡
│ 0.0 ┆ 1.386294 │
│ 0.693147 ┆ 1.609438 │
│ 1.098612 ┆ 1.791759 │
└──────────┴──────────┘
Gotcha's
Read more about the gotcha's here.