numpy.nanstd
-
numpy.nanstd(a, axis=None, dtype=None, out=None, ddof=0, keepdims=<no value>)[source] -
Вычисление стандартного отклонения вдоль указанной оси, игнорируя NaN.
Возвращает стандартное отклонение, мера разброса распределения, элементов массива без NaN. Стандартное отклонение вычисляется для уплощенного массива по умолчанию, иначе по указанной оси.
Для слайсов, состоящих только из NaN, или слайсов с нулём степеней свободы, возвращается NaN и генерируется
RuntimeWarning.Новая в версии 1.8.0.
- Parameters
-
-
aarray_like -
Вычислить стандартное отклонение значений без NaN.
-
axis{int, tuple of int, None}, optional -
Ось или оси, по которым вычисляется стандартное отклонение. По умолчанию вычисляется стандартное отклонение уплощенного массива.
-
dtypedtype, optional -
Тип, используемый для вычисления стандартного отклонения. Для массивов целого типа по умолчанию используется float64, для массивов плавающей точки — тип массива.
-
outndarray, optional -
Альтернативный массив вывода, в который поместить результат. Он должен иметь такую же форму, как ожидаемый вывод, но тип (вычисленных значений) будет преобразован при необходимости.
-
ddofint, optional -
Означает Дельта градусов свободы. Делитель, используемый в расчётах, равен
N - ddof, гдеNпредставляет количество элементов без NaN. По умолчаниюddofравно нулю. -
keepdimsbool, optional -
Если установлено в True, оси, по которым происходит сокращение, остаются в результате как измерения с размером один. С этим вариантом результат будет корректно транслироваться относительно исходного
a.Если это значение отличается от значения по умолчанию, оно передаётся как есть соответствующим функциям подклассов. Если у этих функций нет
keepdimsаргумента, будет поднята ошибка RuntimeError.
-
- Returns
-
-
standard_deviationndarray, see dtype parameter above. -
Если
outравно None, возвращается новый массив, содержащий стандартное отклонение, в противном случае возвращается ссылка на массив вывода. Если ddof больше или равен количеству элементов без NaN в слайсе или слайс содержит только NaN, то результат для этого слайса равен NaN.
-
Примечания
Стандартное отклонение — это квадратный корень из среднего значения квадратов отклонений от среднего значения:
std = sqrt(mean(abs(x - x.mean())**2)).Среднее квадратичное отклонение обычно вычисляется как
x.sum() / N, гдеN = len(x). Однако, если заданоddof, в качестве делителя используетсяN - ddof. В стандартной статистической практикеddof=1предоставляет несмещённую оценку дисперсии бесконечной генеральной совокупности.ddof=0предоставляет оценку максимального правдоподобия дисперсии для нормально распределённых переменных. Стандартное отклонение, вычисленное в этой функции, является квадратным корнем из оценочной дисперсии, поэтому даже сddof=1, это не будет несмещённой оценкой стандартного отклонения.Обратите внимание, что для комплексных чисел
stdберёт абсолютное значение перед возведением в квадрат, так что результат всегда вещественный и неотрицательный.Для входных данных с плавающей точкой стандартное отклонение вычисляется с той же точностью, что и входные данные. В зависимости от входных данных это может привести к неточным результатам, особенно для float32 (см. пример ниже). Использование накопителя с большей точностью с помощью ключевого слова
dtypeможет решить эту проблему.Примеры
>>> a = np.array([[1, np.nan], [3, 4]]) >>> np.nanstd(a) 1.247219128924647 >>> np.nanstd(a, axis=0) array([1., 0.]) >>> np.nanstd(a, axis=1) array([0., 0.5]) # may vary
© 2005–2020 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.18/reference/generated/numpy.nanstd.html