From cec156ed50aeafc67149f96532b20c5d70490d3e Mon Sep 17 00:00:00 2001 From: Nikolai Hartmann <Nikolai.Hartmann@physik.uni-muenchen.de> Date: Mon, 27 Aug 2018 14:47:19 +0200 Subject: [PATCH] option to use a maximum number of events for get_ranges --- utils.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/utils.py b/utils.py index 48f58f6..a353184 100644 --- a/utils.py +++ b/utils.py @@ -45,14 +45,19 @@ def create_random_event(ranges, mask_probs=None, mask_value=None): return random_event -def get_ranges(x, quantiles, weights, mask_value=None, filter_index=None): +def get_ranges(x, quantiles, weights, mask_value=None, filter_index=None, max_evts=None): "Get ranges for plotting or random event generation based on quantiles" ranges = [] mask_probs = [] + if max_evts is not None: + rnd_idx = np.random.permutation(np.arange(len(x))) + rnd_idx = rnd_idx[:max_evts] for var_index in range(x.shape[1]): if (filter_index is not None) and (var_index != filter_index): continue x_var = x[:,var_index] + if max_evts is not None: + x_var = x_var[rnd_idx] not_masked = np.where(x_var != mask_value)[0] masked = np.where(x_var == mask_value)[0] ranges.append(weighted_quantile(x_var[not_masked], quantiles, sample_weight=weights[not_masked])) -- GitLab