diff options
author | Sebastian Berg <sebastian@sipsolutions.net> | 2020-03-04 09:36:19 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-03-04 09:36:19 -0800 |
commit | 91411eea6306d5b9aabab4b5abf5a16df4c3396b (patch) | |
tree | 79ab60cfa5efa6a4f4a4e9df2266632a9efb5d6b /numpy | |
parent | 9331e55b0c16d9b8611132a4ce0fd24e52d6e629 (diff) | |
parent | 6361c2cd62b25a4b8602c647ac64466d9cc011fd (diff) | |
download | numpy-91411eea6306d5b9aabab4b5abf5a16df4c3396b.tar.gz |
Merge pull request #15487 from ericmariasis/quantile
BUG: Fixing result of np quantile edge case
Diffstat (limited to 'numpy')
-rw-r--r-- | numpy/lib/function_base.py | 2 | ||||
-rw-r--r-- | numpy/lib/tests/test_function_base.py | 10 |
2 files changed, 11 insertions, 1 deletions
diff --git a/numpy/lib/function_base.py b/numpy/lib/function_base.py index 12320ae47..47b5133be 100644 --- a/numpy/lib/function_base.py +++ b/numpy/lib/function_base.py @@ -3870,7 +3870,7 @@ def _quantile_ureduce_func(a, q, axis=None, out=None, overwrite_input=False, "'midpoint', or 'nearest'") n = np.array(False, dtype=bool) # check for nan's flag - if indices.dtype == intp: # take the points along axis + if np.issubdtype(indices.dtype, np.integer): # take the points along axis # Check if the array contains any nan's if np.issubdtype(a.dtype, np.inexact): indices = concatenate((indices, [-1])) diff --git a/numpy/lib/tests/test_function_base.py b/numpy/lib/tests/test_function_base.py index 7953de15d..83fbd8bcc 100644 --- a/numpy/lib/tests/test_function_base.py +++ b/numpy/lib/tests/test_function_base.py @@ -2967,6 +2967,16 @@ class TestQuantile: assert_equal(np.quantile(x, 1), 3.5) assert_equal(np.quantile(x, 0.5), 1.75) + def test_correct_quantile_value(self): + a = np.array([True]) + tf_quant = np.quantile(True, False) + assert_equal(tf_quant, a[0]) + assert_equal(type(tf_quant), a.dtype) + a = np.array([False, True, True]) + quant_res = np.quantile(a, a) + assert_array_equal(quant_res, a) + assert_equal(a.dtype, quant_res.dtype) + def test_fraction(self): # fractional input, integral quantile x = [Fraction(i, 2) for i in range(8)] |