NumPy 的 std(~)
方法计算输入数组中值的标准差。标准差使用以下公式计算:
其中,
-
是给定数组的大小(即样本大小)
-
是 NumPy 数组中第 索引的值
-
是样本平均值
注意
std(~)
方法还可以计算标准差的无偏估计。我们通过在参数中设置 ddof=1
来实现这一点,我们将在后面的示例中看到。
参数
1. a
| array-like
输入数组。
2. axis
| int
或 tuple
| optional
计算标准差所沿的轴。对于二维数组,允许的值如下:
轴 |
意义 |
---|---|
0 |
标准差将按列计算 |
1 |
标准差将按行计算 |
None |
标准差将在展平数组上计算 |
默认情况下,axis=None
。
3. dtype
| string
或 type
| optional
用于计算标准差的类型。如果输入数组的类型为 int
,则将使用 float32
。如果输入数组是其他数值类型,则将使用其类型。
4. ddof
| int
| optional
自由度δ。这可以用来修改前面的分母:
默认情况下,ddof=0
。
返回值
int
表示所提供值的标准偏差。
例子
一维数组的标准差
np.std([1,2,3,4])
1.118
计算样本标准差
要计算样本标准差,请设置 ddof=1
:
np.std([1,2,3,4], ddof=1)
1.290
计算总体标准差
要计算总体标准差,请省略 ddof
参数或显式设置 ddof=0
:
np.std([1,2,3,4]) # By default, ddof=0
1.118
二维数组的标准差
整个数组
如果不指定 axis 参数,NumPy 只会将 NumPy 数组视为展平数组。
np.std([[1,2],[3,4]])
1.118
此代码与 np.std([1,2,3,4])
基本相同。
按列
要按列计算标准差,请在参数中指定axis=0
:
np.std([[1,4],[2,6], [3,8]], axis=0)
array([0.81649658, 1.63299316])
在这里,我们计算 [1,2,3]
(即第一列)和 [4,6,8]
(即第二列)的标准差。
逐行
要按列计算标准差,请在参数中指定axis=1
:
np.std([[1,4],[2,6], [3,8]], axis=1)
array([1.5, 2. , 2.5])
在这里,我们计算三个标准差:第一行(即 [1,4]
)、第二行(即 [2,6]
)和第三行(即 [3,8]
)。
警告
有时数字类型 float32
可能不够准确,无法满足您的需求。如果您的应用程序需要更准确的数字,请在参数中设置dtype=np.float64
。这将占用更多内存,但会提供更准确的结果。
相关用法
- Python - statistics stdev()用法及代码示例
- Python str.isidentifier用法及代码示例
- Python Streamlit st.experimental_singleton.clear用法及代码示例
- Python Scipy stats.cumfreq()用法及代码示例
- Python Scipy stats.nanmean()用法及代码示例
- Python NumPy startswith方法用法及代码示例
- Python str.expandtabs用法及代码示例
- Python Scipy stats.gengamma()用法及代码示例
- Python Scipy stats.dweibull()用法及代码示例
- Python Streamlit st.bokeh_chart用法及代码示例
- Python Streamlit st.caption用法及代码示例
- Python Streamlit st.text_input用法及代码示例
- Python scipy stats.expon()用法及代码示例
- Python Streamlit st.area_chart用法及代码示例
- Python Streamlit st.title用法及代码示例
- Python str.title用法及代码示例
- Python Streamlit st.cache用法及代码示例
- Python statistics.median_grouped用法及代码示例
- Python Scipy stats.f()用法及代码示例
- Python Streamlit st.experimental_singleton用法及代码示例
- Python Streamlit st.empty用法及代码示例
- Python Streamlit st.error用法及代码示例
- Python Scipy stats.genexpon()用法及代码示例
- Python Streamlit st.video用法及代码示例
注:本文由纯净天空筛选整理自Isshin Inada大神的英文原创作品 NumPy | std method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。