code: def map_batches(
      exprs: Sequence[str] | Sequence[Expr],
      function: Callable[[Sequence[Series]], Series],
      return_dtype: PolarsDataType | None = None,
  ) -> Expr:
      """
      Map a custom function over multiple columns/expressions.
  
      Produces a single Series result.
  
      Parameters
      ----------
      exprs
          Expression(s) representing the input Series to the function.
      function
          Function to apply over the input.
      return_dtype
          dtype of the output Series.
  
      Returns
      -------
      Expr
          Expression with the data type given by `return_dtype`.
  
      Examples
      --------
      >>> def test_func(a, b, c):
      ...     return a + b + c
      >>> df = pl.DataFrame(
      ...     {
      ...         "a": [1, 2, 3, 4],
      ...         "b": [4, 5, 6, 7],
      ...     }
      ... )
      >>>
      >>> df.with_columns(
      ...     (
      ...         pl.struct(["a", "b"]).map_batches(
      ...             lambda x: test_func(x.struct.field("a"), x.struct.field("b"), 1)
      ...         )
      ...     ).alias("a+b+c")
      ... )
      shape: (4, 3)
      ┌─────┬─────┬───────┐
      │ a   ┆ b   ┆ a+b+c │
      │ --- ┆ --- ┆ ---   │
      │ i64 ┆ i64 ┆ i64   │
      ╞═════╪═════╪═══════╡
      │ 1   ┆ 4   ┆ 6     │
      │ 2   ┆ 5   ┆ 8     │
      │ 3   ┆ 6   ┆ 10    │
      │ 4   ┆ 7   ┆ 12    │
      └─────┴─────┴───────┘
  
      """
      exprs = parse_as_list_of_expressions(exprs)
      return wrap_expr(
          plr.map_mul(
              exprs,
              function,
              return_dtype,
              map_groups=False,
              returns_scalar=False,
          )
      )
  
imports: from __future__ import annotations
  import contextlib
  from typing import TYPE_CHECKING, Any, Callable, Iterable, Sequence, overload
  import polars._reexport
  import polars.functions
  from polars.datatypes import DTYPE_TEMPORAL_UNITS, Date, Datetime, Int64
  from polars.utils._async import _AioDataFrameResult, _GeventDataFrameResult
  from polars.utils._parse_expr_input import parse_as_expression, parse_as_list_of_expressions
  from polars.utils._wrap import wrap_df, wrap_expr
  from polars.utils.deprecation import deprecate_renamed_function
label_desc: Use image node_id 16 for calling a global function with example usage: map_batches(exprs, function, return_dtype) and returns: wrap_expr