cmomy.wrap_resample_vals#
- cmomy.wrap_resample_vals(x, *y, sampler, mom, weight=None, axis=MISSING, dim=MISSING, mom_dims=None, mom_axes=None, mom_params=None, rep_dim='rep', out=None, dtype=None, casting='same_kind', order=None, parallel=None, axes_to_end=False, keep_attrs=None, apply_ufunc_kwargs=None)[source]#
Create wrapped object from resampled values.
- Parameters:
x (array-like or
DataArrayorDataset) – Values to reduce.*y (array-like or
DataArrayorDataset) – Additional values (needed iflen(mom)==2).yhas same type restrictions and broadcasting rules asweight.sampler (
intor array-like orIndexSampleror mapping) – Passed throughcmomy.resample.factory_sampler()to create anIndexSampler. Value can either benrep(the number of replicates),freq(frequency array), aIndexSamplerobject, or a mapping of parameters. The mapping can have form ofFactoryIndexSamplerKwargs. Allowable keys arefreq,indices,ndat,nrep,nsamp,paired,rng,replace,shuffle.mom (
intortupleofint) – Order or moments. If integer or length one tuple, then moments are for a single variable. If length 2 tuple, then comoments of two variablesweight (array-like or
DataArrayorDataset) –Optional weight. The type of
weightmust be “less than” the type ofx.xisDataset:weightcan be aDataset,DataArray, or array-likexis array-like:weightcan be array-like
In the case that
weightis array-like, it must broadcast toxusing usual broadcasting rules (seenumpy.broadcast_to()), with the following exceptions: Ifweightis a 1d array of lengthx.shape[axis]], it will be formatted to broadcast along the other dimensions ofx. For example, ifxhas shape(10, 2, 3)andweighthas shape(10,), thenweightwill be converted to the broadcastable shape(10, 1, 1). Ifweightis a scalar, it will be broadcast tox.shape.axis (
int) – Axis to reduce/sample along.dim (hashable) – Dimension to reduce/sample along.
mom_dims (hashable or
tupleof hashable) – Name of moment dimensions. Defaults to("mom_0",)formom_ndim==1and(mom_0, mom_1)formom_ndim==2mom_axes (
intortupleofint, optional) – Location of the moment dimensions. Default to(-mom_ndim, -mom_ndim+1, ...). If specified andmom_ndimis None, setmom_ndimtolen(mom_axes). Note that ifmom_axesis specified, negative values are relative to the end of the array. This is also the case foraxesifmom_axesis specified.mom_params (
MomParamsorMomParamsDictordict, optional) – Moment parameters. You can set moment parametersaxesanddimsusing this option. For example, passingmom_params={"dim": ("a", "b")}is equivalent to passingmom_dims=("a", "b"). You can also pass as aMomParamsobject withmom_params=cmomy.MomParams(dims=("a", "b")).rep_dim (hashable) – Name of new ‘replicated’ dimension:
out (
ndarray) – Optional output array. If specified, output will be a reference to this array. Note that if the output if method returns aDataset, then this option is ignored.casting (
{'no', 'equiv', 'safe', 'same_kind', 'unsafe'}, optional) –Controls what kind of data casting may occur.
’no’ means the data types should not be cast at all.
’equiv’ means only byte-order changes are allowed.
’safe’ means only casts which can preserve values are allowed.
’same_kind’ means only safe casts or casts within a kind, like float64 to float32, are allowed.
’unsafe’ (default) means any data conversions may be done.
order (
{"C", "F"}, optional) – Order argument. Seenumpy.zeros().parallel (
bool, optional) – IfTrue, use parallel numbanumba.njitornumba.guvectorizedcode if possible. IfNone, use a heuristic to determine if should attempt to use parallel method.axes_to_end (
bool) – IfTrue, place sampled dimension (if exists in output) and moment dimensions at end of output. Otherwise, place sampled dimension (if exists in output) at same position as inputaxisand moment dimensions at same position as input (if input does not contain moment dimensions, place them at end of array).keep_attrs (
{"drop", "identical", "no_conflicts", "drop_conflicts", "override"}orbool, optional) –‘drop’ or False: empty attrs on returned xarray object.
’identical’: all attrs must be the same on every object.
’no_conflicts’: attrs from all objects are combined, any that have the same name must also have the same value.
’drop_conflicts’: attrs from all objects are combined, any that have the same name but different values are dropped.
’override’ or True: skip comparing and copy attrs from the first object to the result.
apply_ufunc_kwargs (dict-like) – Extra parameters to
xarray.apply_ufunc(). One useful option ison_missing_core_dim, which can take the value"copy"(the default),"raise", or"drop"and controls what to do with variables of aDatasetmissing core dimensions. Other options arejoin,dataset_join,dataset_fill_value, anddask_gufunc_kwargs. Unlisted options are handled internally.
- Returns:
wrapped (
CentralMomentsArrayorCentralMomentsData) – Wrapped object. If input data is anxarrayobject, then returnCentralMomentsDatainstance. Otherwise, returnCentralMomentsArrayinstance.
See also
Examples
>>> import cmomy >>> rng = cmomy.default_rng(0) >>> x = rng.random(10) >>> cmomy.wrap_resample_vals(x, mom=2, axis=0, sampler=dict(nrep=5)) <CentralMomentsArray(mom_ndim=1)> array([[10. , 0.5397, 0.0757], [10. , 0.5848, 0.0618], [10. , 0.5768, 0.0564], [10. , 0.6138, 0.1081], [10. , 0.5808, 0.0685]])