binny.utils.broadcasting module#
Utilities to broadcast parameters to per-bin arrays.
- binny.utils.broadcasting.as_per_bin(x: float | int | Sequence | None, n_bins: int, name: str) ndarray#
Broadcasts a scalar/None/sequence to a per-bin array of length
n_bins.Rules: - If
xis a float or int -> repeat for all bins. - Ifxis None -> return an object array ofNonewith lengthn_bins. - Ifxis a sequence -> validate lengthn_binsand broadcast elementwise. - Raise ValueError if lengths mismatch.- Parameters:
x – A scalar, None, or sequence.
n_bins – Number of bins.
name – Name of the parameter (for error messages).
- Returns:
A NumPy array of length
n_bins. Usesdtype=floatwhen possible, otherwisedtype=object(e.g. when values includeNone).- Raises:
ValueError – If
n_bins< 1 or ifxis a sequence of incorrect length.TypeError – If
xis not a scalar, None, or sequence.