Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
import numpy as np
def wrap_pure_python(func):
def wrapper(x, *args, **kwargs):
kwargs.pop('axis', None)
out = np.empty_like(x)
func(x, *args, out=out, **kwargs)
return out
return wrapper
funcs_reference_funcs = {
numbagg.allnan: lambda x, **kwargs: np.all(np.isnan(x), **kwargs),
numbagg.anynan: lambda x, **kwargs: np.any(np.isnan(x), **kwargs),
numbagg.nansum: np.nansum,
numbagg.nanmean: np.nanmean,
numbagg.nanstd: np.nanstd,
numbagg.nanvar: np.nanvar,
numbagg.nanmax: np.nanmax,
numbagg.nanmin: np.nanmin,
numbagg.count: lambda x, **kwargs: np.sum(~np.isnan(x), **kwargs),
}
argmax_reference_funcs = {
numbagg.nanargmax: np.nanargmax,
numbagg.nanargmin: np.nanargmin,
}
moving_references_funcs = {
numbagg.move_nanmean: wrap_pure_python(numbagg.move_nanmean.func),
}