How to calculate horizontal median for numerical columns? df = pl.DataFrame({"ABC":["foo", "bar", "foo"], "A":[1,2,3], "B":[2,1,None], "C":[1,2,3]}) print(df) shape: (3, 4) ┌─────┬─────┬──────┬─────┐ │ ABC ┆ A ┆ B ┆ C │ │ --- ┆ --- ┆ --- ┆ --- │ │ str ┆ i64 ┆ i64 ┆ i64 │ ╞═════╪═════╪══════╪═════╡ │ foo ┆ 1 ┆ 2 ┆ 1 │ │ bar ┆ 2 ┆ 1 ┆ 2 │ │ foo ┆ 3 ┆ null ┆ 3 │ └─────┴─────┴──────┴─────┘  I want to achieve the same as with the below pl.mean_horizontal, but get median instead of the mean. I did not find existing expression for this. print(df.with_columns(pl.mean_horizontal(pl.col(pl.Int64)).alias("Horizontal Mean"))) shape: (3, 5) ┌─────┬─────┬──────┬─────┬─────────────────┐ │ ABC ┆ A ┆ B ┆ C ┆ Horizontal Mean │ │ --- ┆ --- ┆ --- ┆ --- ┆ --- │ │ str ┆ i64 ┆ i64 ┆ i64 ┆ f64 │ ╞═════╪═════╪══════╪═════╪═════════════════╡ │ foo ┆ 1 ┆ 2 ┆ 1 ┆ 1.333333 │ │ bar ┆ 2 ┆ 1 ┆ 2 ┆ 1.666667 │ │ foo ┆ 3 ┆ null ┆ 3 ┆ 3.0 │ └─────┴─────┴──────┴─────┴─────────────────┘ 
There's no median_horizontal() at the moment, but you could use  pl.concat_list() to create list column out of all pl.Int64 columns. pl.Expr.list.median() to calculate median.  df.with_columns( pl.concat_list(pl.col(pl.Int64)).list.median().alias("Horizontal Median") )  shape: (3, 5) ┌─────┬─────┬──────┬─────┬───────────────────┐ │ ABC ┆ A ┆ B ┆ C ┆ Horizontal Median │ │ --- ┆ --- ┆ --- ┆ --- ┆ --- │ │ str ┆ i64 ┆ i64 ┆ i64 ┆ f64 │ ╞═════╪═════╪══════╪═════╪═══════════════════╡ │ foo ┆ 1 ┆ 2 ┆ 1 ┆ 1.0 │ │ bar ┆ 2 ┆ 1 ┆ 2 ┆ 2.0 │ │ foo ┆ 3 ┆ null ┆ 3 ┆ 3.0 │ └─────┴─────┴──────┴─────┴───────────────────┘  Or you can use numpy integration (but this will probably be slower): import numpy as np df.with_columns( pl.Series("Horizontal Median", np.nanmedian(df.select(pl.col(pl.Int64)), axis=1)) )  shape: (3, 5) ┌─────┬─────┬──────┬─────┬───────────────────┐ │ ABC ┆ A ┆ B ┆ C ┆ Horizontal Median │ │ --- ┆ --- ┆ --- ┆ --- ┆ --- │ │ str ┆ i64 ┆ i64 ┆ i64 ┆ f64 │ ╞═════╪═════╪══════╪═════╪═══════════════════╡ │ foo ┆ 1 ┆ 2 ┆ 1 ┆ 1.0 │ │ bar ┆ 2 ┆ 1 ┆ 2 ┆ 2.0 │ │ foo ┆ 3 ┆ null ┆ 3 ┆ 3.0 │ └─────┴─────┴──────┴─────┴───────────────────┘ 