📅  最后修改于: 2023-12-03 15:33:14.052000             🧑  作者: Mango
Numpy MaskedArray.std()函数返回一个给定数组的标准差,其中被屏蔽的元素被忽略。
numpy.ma.std(arr, axis=None, dtype=None, out=None, ddof=0, keepdims=<no value>)
arr
:数组。axis
:轴。默认值为None,表示计算所有值的标准差。dtype
:数据类型。默认为None,表示自动推断数据类型。out
:输出数组。默认为None,表示返回新数组。ddof
:自由度的差异。默认为0。keepdims
:保留维度。默认为<no value>
,表示不保留维度。一个标量或数组。
import numpy as np
x = np.ma.array([1, 2, 3, 4, 5], mask=[0, 0, 0, 1, 1])
print(np.ma.std(x))
# 1.5
print(np.ma.std(x, axis=0))
# masked_array(data=2.0,
# mask=False,
# fill_value=1e+20)
print(np.ma.std(x, axis=1))
# masked_array(data=[0.0],
# mask=[False],
# fill_value=1e+20)
在这个示例中,创建了数组x,其中前三个元素不被屏蔽,后两个元素被屏蔽。计算x的标准差应该忽略被屏蔽的元素,因此np.ma.std(x)
输出1.5。在np.ma.std(x, axis=0)
中,axis=0表示对沿轴0的所有值计算标准差,输出结果是一个标量。在np.ma.std(x, axis=1)
中,axis=1表示对沿轴1的所有值进行操作,输出结果是一个一维数组。