polars.sum#
- polars.sum(column: str | Sequence[Expr | str] | Expr) Expr [source]#
- polars.sum(column: Series) int | float
Sum values in a column/Series, or horizontally across list of columns/expressions.
pl.sum(str)
is syntactic sugar for:>>> pl.col(str).sum()
pl.sum(list)
is syntactic sugar for:>>> pl.fold(pl.lit(0), lambda x, y: x + y, list).alias("sum")
- Parameters:
- column
Column(s) to be used in aggregation. This can be:
a column name, or Series -> aggregate the sum value of that column/Series.
a List[Expr] -> aggregate the sum value horizontally across the Expr result.
Examples
>>> df = pl.DataFrame( ... { ... "a": [1, 2], ... "b": [3, 4], ... "c": [5, 6], ... } ... ) >>> df shape: (2, 3) ┌─────┬─────┬─────┐ │ a ┆ b ┆ c │ │ --- ┆ --- ┆ --- │ │ i64 ┆ i64 ┆ i64 │ ╞═════╪═════╪═════╡ │ 1 ┆ 3 ┆ 5 │ │ 2 ┆ 4 ┆ 6 │ └─────┴─────┴─────┘
Sum a column by name:
>>> df.select(pl.sum("a")) shape: (1, 1) ┌─────┐ │ a │ │ --- │ │ i64 │ ╞═════╡ │ 3 │ └─────┘
Sum a list of columns/expressions horizontally:
>>> df.with_columns(pl.sum(["a", "c"])) shape: (2, 4) ┌─────┬─────┬─────┬─────┐ │ a ┆ b ┆ c ┆ sum │ │ --- ┆ --- ┆ --- ┆ --- │ │ i64 ┆ i64 ┆ i64 ┆ i64 │ ╞═════╪═════╪═════╪═════╡ │ 1 ┆ 3 ┆ 5 ┆ 6 │ │ 2 ┆ 4 ┆ 6 ┆ 8 │ └─────┴─────┴─────┴─────┘
Sum a series:
>>> pl.sum(df.get_column("a")) 3
To aggregate the sums for more than one column/expression use
pl.col(list).sum()
or a regular expression selector likepl.sum(regex)
:>>> df.select(pl.col(["a", "c"]).sum()) shape: (1, 2) ┌─────┬─────┐ │ a ┆ c │ │ --- ┆ --- │ │ i64 ┆ i64 │ ╞═════╪═════╡ │ 3 ┆ 11 │ └─────┴─────┘
>>> df.select(pl.sum("^.*[bc]$")) shape: (1, 2) ┌─────┬─────┐ │ b ┆ c │ │ --- ┆ --- │ │ i64 ┆ i64 │ ╞═════╪═════╡ │ 7 ┆ 11 │ └─────┴─────┘