import polars as pl, numpy as np from sklearn.metrics import roc_auc_score def wauc(df,c,y='clicked',g='eid'): d=df.select(g,y,pl.col(c).cast(pl.Float64).fill_null(-1e18).alias('s')).with_columns(pl.col('s').rank('average').over(g).alias('rk'), pl.col(y).sum().over(g).alias('P'),pl.len().over(g).alias('N')).filter((pl.col('P')>0)&(pl.col('P')=.5 else '-') if event_level: e=eauc(d,c); out[v]['event']=round(max(e,1-e),4) else: out[v]['within']=round(wauc(d,c),4) return out