numpy.nanquantile
- numpy.nanquantile(a, q, axis=None, out=None, overwrite_input=False, method='linear', keepdims=<no value>, *, weights=None, interpolation=None)[source]
-
Вычислить q-й квантиль данных по указанной оси, игнорируя значения nan. Возвращает q-й квантиль(и) элементов массива.
Добавлен в версии 1.15.0.
- Параметры:
-
- aarray_like
-
Входной массив или объект, который может быть преобразован в массив, содержащий значения nan, которые необходимо проигнорировать
- qarray_like из float
-
Вероятность или последовательность вероятностей для вычисления квантилей. Значения должны быть в диапазоне от 0 до 1 включительно.
- axis{int, кортеж из int, None}, необязательно
-
Ось или оси, по которым вычисляются квантили. По умолчанию квантиль(и) вычисляются по сплющенной версии массива.
- outndarray, необязательно
-
Альтернативный массив вывода, в который следует поместить результат. Он должен иметь такую же форму и длину буфера, как и ожидаемый результат, но тип (результата) будет преобразован при необходимости.
- overwrite_inputbool, необязательно
-
Если True, то разрешается изменять входной массив
aпромежуточными вычислениями для экономии памяти. В этом случае содержимое входного массиваaпосле завершения функции будет неопределенным. - methodstr, необязательно
-
Этот параметр указывает метод, который следует использовать для оценки квантиля. Существует множество различных методов, некоторые уникальны для NumPy. См. примечания для объяснения. Доступные варианты, упорядоченные по их типу в R, как суммируется в статье H&F [1]:
- ‘inverted_cdf’
- ‘averaged_inverted_cdf’
- ‘closest_observation’
- ‘interpolated_inverted_cdf’
- ‘hazen’
- ‘weibull’
- ‘linear’ (по умолчанию)
- ‘median_unbiased’
- ‘normal_unbiased’
Первые три метода являются разрывными. NumPy дополнительно определяет следующие разрывные варианты по умолчанию ‘linear’ (7.):
- ‘lower’
- ‘higher’,
- ‘midpoint’
- ‘nearest’
Изменено в версии 1.22.0: Этот аргумент ранее назывался «interpolation» и предлагал по умолчанию только «linear» и последние четыре варианта.
- keepdimsbool, необязательно
-
Если значение True, то оси, которые были уменьшены, сохраняются в результате в виде измерений с размером один. С этим вариантом результат будет корректно транслироваться относительно исходного массива
a.Если это значение отличается от значения по умолчанию, оно будет передано (в специальном случае пустого массива) в функцию
meanбазового массива. Если массив является подклассом иmeanне имеет параметраkeepdims, это вызовет ошибку RuntimeError. - weightsarray_like, необязательно
-
Массив весов, связанных со значениями в
a. Каждое значение вaвносит вклад в квантиль в соответствии со своим весом. Массив весов может быть одномерным (в этом случае его длина должна быть равна размеруaвдоль заданной оси) или иметь такую же форму, как иa. Еслиweights=None, то предполагается, что все данные вaимеют вес, равный единице. Толькоmethod=”inverted_cdf”поддерживает веса.Добавлен в версии 2.0.0.
- interpolationstr, необязательно
-
Устаревшее название для аргумента ключевого слова method.
Устарело начиная с версии 1.22.0.
- Возвращаемое значение:
-
- quantileскаляр или ndarray
-
Если
qпредставляет собой единственную вероятность иaxis=None, то результат является скаляром. Если заданы несколько уровней вероятностей, первая ось результата соответствует квантилям. Другие оси — это оси, оставшиеся после сокращенияa. Если вход содержит целые или дробные числа меньше, чемfloat64, тип данных выходных данных —float64. В противном случае тип данных выходных данных совпадает с типом данных входных данных. Еслиoutуказан, возвращается этот массив.
См. также
quantile-
nanmean,nanmedian nanmedian-
эквивалентно
nanquantile(..., 0.5) nanpercentile-
то же самое, что и nanquantile, но с q в диапазоне [0, 100].
Примечания
Дополнительную информацию можно найти в
numpy.quantileСсылки
[1]R. J. Hyndman и Y. Fan, «Образцы квантилей в статистических пакетах», «The American Statistician», 50(4), стр. 361-365, 1996
Примеры
>>> 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) np.float64(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–2024 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/2.0/reference/generated/numpy.nanquantile.html