1import warnings 2import numpy as np 3from numpy import nanmean, nansum 4 5__all__ = [ 6 "median", 7 "nanmedian", 8 "nansum", 9 "nanmean", 10 "nanvar", 11 "nanstd", 12 "nanmin", 13 "nanmax", 14 "nanargmin", 15 "nanargmax", 16 "ss", 17 "anynan", 18 "allnan", 19] 20 21 22def nanargmin(a, axis=None): 23 "Slow nanargmin function used for unaccelerated dtypes." 24 with warnings.catch_warnings(): 25 warnings.simplefilter("ignore") 26 return np.nanargmin(a, axis=axis) 27 28 29def nanargmax(a, axis=None): 30 "Slow nanargmax function used for unaccelerated dtypes." 31 with warnings.catch_warnings(): 32 warnings.simplefilter("ignore") 33 return np.nanargmax(a, axis=axis) 34 35 36def nanvar(a, axis=None, ddof=0): 37 "Slow nanvar function used for unaccelerated dtypes." 38 with warnings.catch_warnings(): 39 warnings.simplefilter("ignore") 40 return np.nanvar(a, axis=axis, ddof=ddof) 41 42 43def nanstd(a, axis=None, ddof=0): 44 "Slow nanstd function used for unaccelerated dtypes." 45 with warnings.catch_warnings(): 46 warnings.simplefilter("ignore") 47 return np.nanstd(a, axis=axis, ddof=ddof) 48 49 50def nanmin(a, axis=None): 51 "Slow nanmin function used for unaccelerated dtypes." 52 with warnings.catch_warnings(): 53 warnings.simplefilter("ignore") 54 return np.nanmin(a, axis=axis) 55 56 57def nanmax(a, axis=None): 58 "Slow nanmax function used for unaccelerated dtypes." 59 with warnings.catch_warnings(): 60 warnings.simplefilter("ignore") 61 return np.nanmax(a, axis=axis) 62 63 64def median(a, axis=None): 65 "Slow median function used for unaccelerated dtypes." 66 with warnings.catch_warnings(): 67 warnings.simplefilter("ignore") 68 return np.median(a, axis=axis) 69 70 71def nanmedian(a, axis=None): 72 "Slow nanmedian function used for unaccelerated dtypes." 73 with warnings.catch_warnings(): 74 warnings.simplefilter("ignore") 75 return np.nanmedian(a, axis=axis) 76 77 78def ss(a, axis=None): 79 "Slow sum of squares used for unaccelerated dtypes." 80 a = np.asarray(a) 81 y = np.multiply(a, a).sum(axis) 82 return y 83 84 85def anynan(a, axis=None): 86 "Slow check for Nans used for unaccelerated dtypes." 87 return np.isnan(a).any(axis) 88 89 90def allnan(a, axis=None): 91 "Slow check for all Nans used for unaccelerated dtypes." 92 return np.isnan(a).all(axis) 93