# weighted mean v = np.average(df[name].values[bi], None, np.nan_to_num(ws)) elif wt and mode in ["q1", "q2", "q3"]: q = (["q1", "q2", "q3"].index(mode) + 1) * 0.25 v = weighted_quantiles(df[name].values, [q], np.prod([df[_].values for _ in wt], 0))[0] elif hasattr(pd.Series, mode): fn = eval('pd.Series.' + mode) v = fn(df[name]) elif mode == 'major': if df[name].any(): v = df[name].value_counts().idxmax() elif mode in ["q1", "q2", "q3"]: q = (["q1", "q2", "q3"].index(mode) + 1) * 0.25 v = df[name].quantile(q) elif mode.startswith('p') and str.isnumeric(mode[1:]): v = np.percentile(df[name], float(mode[1:])) r.append(v) return (r) def main(*args): pd_save_dataframe(bm_breakdown(args[0], args[1], args[2], args[3]), args[4]) if __name__ == "__main__" and sys.argv[0].endswith('bm_breakdown.py'): usage_gui(__doc__)
#!python from _gui import usage_gui usage_gui(None)