def test_argpercentile(): # Create random Data test_arr = np.random.randint(0, 10000, 50000).reshape(5, 100, 100).astype(np.float32) np.random.shuffle(test_arr) # place random NaNs rand_nan = np.random.randint(0, 50000, 500).astype(np.float32) for r in rand_nan: test_arr[test_arr == r] = np.NaN np_result = np.nanpercentile(test_arr, q=25, axis=0, interpolation='nearest') argpercentile_result = axisindex(test_arr, argpercentile(test_arr, q=25, axis=0), axis=0) assert np.isclose(np_result, argpercentile_result).all()
def index_dataset(var): return axisindex(data.data_vars[var.name].values, var.values)
def index_dataset(var, axis): return axisindex(var, index, axis=axis)