← Files ClaraARCHIVED FILE

modules/mix-contribution-analysis/vendor/modules/charting/upset_helpers.py

362 Bytes · Oct 5, 2026 · 00:02 UTC

↓ Download file

from __future__ import annotations

import polars as pl

__all__ = ["build_upset_matrix"]


def build_upset_matrix(lf: pl.LazyFrame, sets: list[str]) -> pl.LazyFrame:
    """Return a LazyFrame with boolean membership columns for each set."""

    exprs = [(pl.col("set") == s).any().alias(s) for s in sets]
    return lf.group_by("Name").agg(exprs).sort("Name")

SHA-256: c7ef21bbe353280653a5983f5a972a6f406aecbd5a7c024b0bec2a7088447b3f