resample_x_to_match_y¶

halotools.utils.
resample_x_to_match_y
(x, y, bins, seed=None)[source] [edit on github]¶ Return the indices that resample
x
(with replacement) so that the resampled distribution matches the histogram ofy
. The returned indexing array will be sorted so that the i^th element of x[idx] is as close as possible to the i^th value of x, subject to the the constraint that x[idx] matches y.Parameters: x : ndarray
Numpy array of shape (nx, )
y : ndarray
Numpy array of shape (ny, )
bins : ndarray
Numpy array of shape (nbins, ) defining how the distribution
y
will be binned to evaluate its PDF.seed : int, optional
Random number seed used to generate indices. Default is None for stochastic results.
Returns: indices : ndarray
Numpy array of shape (nx, )
Examples
>>> nx, ny = int(1e5), int(1e4) >>> x = np.random.normal(loc=0, size=nx, scale=1) >>> y = np.random.normal(loc=1, size=ny, scale=0.5) >>> bins = np.linspace(5, 5, 100) >>> indices = resample_x_to_match_y(x, y, bins) >>> rescaled_x = x[indices]