← Files ClaraARCHIVED FILE
modules/mix-contribution-analysis/vendor/modules/charting/upset_helpers.py
362 Bytes · Oct 4, 2026 · 12:28 UTC
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