def _summarize_one_branch_samples_single()

in src/mozanalysis/bayesian_stats/__init__.py [0:0]


def _summarize_one_branch_samples_single(samples, quantiles=DEFAULT_QUANTILES):
    if not isinstance(samples, pd.Series | np.ndarray | list):
        # Hey pd.Series.agg - don't apply me elementwise!
        # Raising this error allows ``_summarize_one_branch_samples_batch``
        # to work also for non-batch ``samples`` (i.e. doing double duty)
        raise TypeError("Can't summarize a scalar")

    q_index = [str(v) for v in quantiles]

    res = pd.Series(index=q_index + ["mean"], dtype="float")

    res[q_index] = np.quantile(samples, quantiles)
    res["mean"] = np.mean(samples)
    return res