numpy.nanquantile
-
numpy.nanquantile(a, q, axis=None, out=None, overwrite_input=False, interpolation='linear', keepdims=<no value>)[source] -
Вычислить q-тый квантиль данных по указанной оси, игнорируя значения nan. Возвращает q-тый квантиль(и) элементов массива.
Новая в версии 1.15.0.
- Параметры
-
-
aarray_like -
Вводной массив или объект, который может быть преобразован в массив, содержащий значения nan, которые необходимо пропустить.
-
qarray_like of float -
Квантиль или последовательность квантилей для вычисления, которые должны быть в пределах от 0 до 1 включительно.
-
axis{int, tuple of int, None}, optional -
Ось или оси, по которым вычисляются квантили. По умолчанию вычисляется квантиль(и) по сплющенной версии массива.
-
outndarray, optional -
Альтернативный выходной массив, в который следует поместить результат. Он должен иметь ту же форму и длину буфера, что и ожидаемый результат, но тип (результата) будет преобразован при необходимости.
-
overwrite_inputbool, optional -
Если True, то разрешено изменять входной массив
aпромежуточными вычислениями, чтобы сохранить память. В этом случае содержимое входногоaпосле завершения этой функции не определено. -
interpolation{‘linear’, ‘lower’, ‘higher’, ‘midpoint’, ‘nearest’} -
Этот необязательный параметр задает метод интерполяции, который следует использовать, когда искомый квантиль находится между двумя точками данных
i < j:- линейный:
i + (j - i) * fraction, гдеfraction— дробная часть индекса, окруженнаяiиj. - нижний:
i. - верхний:
j. - ближайший:
iилиj, что ближе всего. - серединный:
(i + j) / 2.
- линейный:
-
keepdimsbool, optional -
Если это установлено в True, оси, которые были уменьшены, остаются в результате как размерности с размером один. С этим вариантом результат будет правильно транслироваться по отношению к исходному массиву
a.Если это имеет какое-либо другое значение, отличное от значения по умолчанию, оно будет передано (в специальном случае пустого массива) функции
meanбазового массива. Если массив является подклассом, аmeanне имеет ключевого параметраkeepdims, это вызовет RuntimeError.
-
- Возвращает
-
-
quantilescalar or ndarray -
Если
qявляется единственным процентилем иaxis=None, то результат является скаляром. Если заданы несколько квантилей, первая ось результата соответствует квантилям. Другие оси — это оси, которые остаются после сокращенияa. Если вход содержит целые числа или числа с плавающей точкой, меньшиеfloat64, тип данных выходных данных —float64. В противном случае тип данных выходных данных совпадает с типом данных входных данных. Еслиoutуказан, возвращается этот массив вместо него.
-
См. также
-
nanmedian -
эквивалентно
nanquantile(..., 0.5) -
nanpercentile -
то же самое, что и nanquantile, но с q в диапазоне [0, 100].
Примеры
>>> a = np.array([[10., 7., 4.], [3., 2., 1.]]) >>> a[0][1] = np.nan >>> a array([[10., nan, 4.], [ 3., 2., 1.]]) >>> np.quantile(a, 0.5) nan >>> np.nanquantile(a, 0.5) 3.0 >>> np.nanquantile(a, 0.5, axis=0) array([6.5, 2. , 2.5]) >>> np.nanquantile(a, 0.5, axis=1, keepdims=True) array([[7.], [2.]]) >>> m = np.nanquantile(a, 0.5, axis=0) >>> out = np.zeros_like(m) >>> np.nanquantile(a, 0.5, axis=0, out=out) array([6.5, 2. , 2.5]) >>> m array([6.5, 2. , 2.5]) >>> b = a.copy() >>> np.nanquantile(b, 0.5, axis=1, overwrite_input=True) array([7., 2.]) >>> assert not np.all(a==b)
© 2005–2020 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.19/reference/generated/numpy.nanquantile.html