lib5c.util.grouping module¶
Module for constructing groups of points with particular properties.
-
lib5c.util.grouping.
group_obs_by_exp
(obs, exp, num_groups=100, group_fractional_tolerance=0.1, log=True, min_group_count=2, exclude_offdiagonals=5)[source]¶ Groups observed points according to their expected values.
- Parameters
obs (np.ndarray or dict of np.ndarray) – Vector, matrix, or counts dict of observed values.
exp (np.ndarray or dict of np.ndarray) – Vector, matrix, or counts dict of expected values.
num_groups (int) – The number of groups to make.
group_fractional_tolerance (float) – The width of each group, specified as a fractional tolerance in the expected value.
log (bool) – Pass True to space the groups out logarithmically.
min_group_count (int) – Discard groups that have fewer than this many values in them.
exclude_offdiagonals (int) – If obs and exp are not already vectors, discard this many off-diagonals from their square matrices before flattening. Pass 0 to exclude only the exact diagonal, and pass -1 to exclude nothing.
- Returns
The first array contains the expected values chosen as the centers of the groups. The list contains each group as an array of observed values.
- Return type
np.ndarray, list of np.ndarray