np.mean()和np.std()函数的具体使用
一、np.mean() 函数定义:
numpy.mean(a, axis, dtype, out,keepdims)
mean()函数功能:求取均值
经常操作的参数为axis,以m * n矩阵举例:
- axis 不设置值,对 m*n 个数求均值,返回一个实数
- axis = 0:压缩行,对各列求均值,返回 1* n 矩阵
- axis = 1:压缩列,对各行求均值,返回 m *1 矩阵
import numpy as np
a = np.array([[1, 2], [3, 4]])
print(a)
[[1 2]
[3 4]]
print(type(a))
<class 'numpy.ndarray'>
print(np.mean(a))
2.5
print(np.mean(a, axis=0)) # axis=0,计算每一列的均值
[2. 3.]
print(np.mean(a, axis=1)) # axis = 1计算每一行的均值
[1.5 3.5]
二、np.std(a, axis=None, dtype=None, out=None, ddof=0, keepdims=)
这个函数是用来求标准差的。axis=0时,表示求每一列标准差,axis=1时,表示求每一行标准差,当axis=None时,表示求全局标准差。
其次numpy计算的为总体标准偏差,即当ddof=0时,计算有偏样本标准差;一般在拥有所有数据的情况下,计算所有数据的标准差时使用,即最终除以n。
当ddof = 1时,表示计算无偏样本标准差,最终除以n-1。
这个是统计学意义上的,日常使用时一般情况很难收集到所有样本,都应该使用ddof = 1
import numpy as np
a = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
pian = np.std(a, ddof = 0) # 有偏
print("std有偏计算结果:",pian)
std有偏计算结果: 2.8722813232690143
orig = np.sqrt(((a - np.mean(a)) ** 2).sum() / a.size)
print("有偏公式计算结果:",orig)
有偏公式计算结果: 2.8722813232690143
no_pian = np.std(a, ddof = 1) # 无偏
print("std无偏计算结果:",no_pian)
std无偏计算结果: 3.0276503540974917
orig1 = np.sqrt(((a - np.mean(a)) ** 2).sum() / (a.size - 1))
print("无偏公式计算结果:",orig1)
无偏公式计算结果: 3.0276503540974917
到此这篇关于np.mean()和np.std()函数的具体使用的文章就介绍到这了,更多相关np.mean()和np.std()函数内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
相关文章