cmomy.wrap_reduce_vals#
- cmomy.wrap_reduce_vals(x, *y, mom, axis=MISSING, dim=MISSING, weight=None, mom_dims=None, mom_axes=None, mom_params=None, 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 values.
- Overloads:
x (DataT), y (ArrayLike | xr.DataArray | DataT), weight (ArrayLike | xr.DataArray | DataT | None), out (NDArrayAny | None), dtype (DTypeLike), kwargs (Unpack[ReduceValsKwargs]) → CentralMomentsData[DataT]
x (ArrayLikeArg[FloatT]), y (ArrayLike), weight (ArrayLike | None), out (None), dtype (None), kwargs (Unpack[ReduceValsKwargs]) → CentralMomentsArray[FloatT]
x (ArrayLike), y (ArrayLike), weight (ArrayLike | None), out (NDArray[FloatT]), dtype (DTypeLike), kwargs (Unpack[ReduceValsKwargs]) → CentralMomentsArray[FloatT]
x (ArrayLike), y (ArrayLike), weight (ArrayLike | None), out (None), dtype (DTypeLikeArg[FloatT]), kwargs (Unpack[ReduceValsKwargs]) → CentralMomentsArray[FloatT]
x (ArrayLike), y (ArrayLike), weight (ArrayLike | None), out (NDArrayAny | None), dtype (DTypeLike), kwargs (Unpack[ReduceValsKwargs]) → CentralMomentsArrayAny
x (ArrayLike | DataT), y (ArrayLike | xr.DataArray | DataT), weight (ArrayLike | xr.DataArray | DataT | None), out (NDArrayAny | None), dtype (DTypeLike), kwargs (Unpack[ReduceValsKwargs]) → CentralMomentsArrayAny | CentralMomentsData[DataT]
- Parameters:
x (
Union[Buffer,_SupportsArray[dtype[Any]],_NestedSequence[_SupportsArray[dtype[Any]]],complex,bytes,str,_NestedSequence[complex|bytes|str],TypeVar(DataT,DataArray,Dataset, xr.DataArray | xr.Dataset)]) – Values to reduce.*y (
Union[Buffer,_SupportsArray[dtype[Any]],_NestedSequence[_SupportsArray[dtype[Any]]],complex,bytes,str,_NestedSequence[complex|bytes|str],DataArray,TypeVar(DataT,DataArray,Dataset, xr.DataArray | xr.Dataset)]) – Additional values (needed iflen(mom)==2).yhas same type restrictions and broadcasting rules asweight.mom (
int|tuple[int] |tuple[int,int]) – 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 (
Union[Buffer,_SupportsArray[dtype[Any]],_NestedSequence[_SupportsArray[dtype[Any]]],complex,bytes,str,_NestedSequence[complex|bytes|str],DataArray,TypeVar(DataT,DataArray,Dataset, xr.DataArray | xr.Dataset),None], default:None) –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 (
Union[complex,None,Literal[MISSING]], default:MISSING) – Axis to reduce/sample along.dim (
Union[DimsReduce,Literal[MISSING]], default:MISSING) – Dimension to reduce/sample along.mom_dims (
Optional[MomDims], default:None) – Name of moment dimensions. Defaults to("mom_0",)formom_ndim==1and(mom_0, mom_1)formom_ndim==2mom_axes (
Optional[MomAxes], default:None) – 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 (
Union[MomParams, MomParamsBase, MomParamsDict,None], default:None) – 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")).out (
ndarray[tuple[Any,...],dtype[Any]] |None, default:None) – 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.dtype (
Union[type[Any],dtype[Any],_SupportsDType[dtype[Any]],tuple[Any,Any],list[Any],_DTypeDict,str,None], default:None) – Optionaldtypefor output data.casting (
Literal['no','equiv','safe','same_kind','unsafe'], default:'same_kind') –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 (
Optional[Literal['C','F']], default:None) – Order argument. Seenumpy.asarray().parallel (
bool|None, default:None) – IfTrue, use parallel numbanumba.njitornumba.guvectorizedcode if possible. IfNone, use a heuristic to determine if should attempt to use parallel method.keep_attrs (KeepAttrs, default:
None) –‘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 (
Mapping[str,Any] |None, default:None) – Extra parameters toxarray.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((100, 3)) >>> da = cmomy.wrap_reduce_vals(x, axis=0, mom=2) >>> da <CentralMomentsArray(mom_ndim=1)> array([[1.0000e+02, 5.5313e-01, 8.8593e-02], [1.0000e+02, 5.5355e-01, 7.1942e-02], [1.0000e+02, 5.1413e-01, 1.0407e-01]])