python 计算均值、方差、标准差 Numpy,Pandas

python 计算均值、方差、标准差 Numpy,Pandas,第1张

概述Python中的numpy包和pandas包都能够计算均值、方差等,本文总结一下它们的用法。1.Numpy计算均值、方差、标准差一般的均值可以用numpy中的mean方法求得:>>>importnumpyasnp>>>a=[5,6,16,9]>>>np.mean(a)9.0numpy中的average方法不仅能求得简单平

Python 中的 numpy 包 和 pandas 包都能够计算均值、方差等,本文总结一下它们的用法。

1. Numpy 计算均值、方差、标准差

一般的均值可以用 numpy 中的 mean 方法求得:

>>> import numpy as np>>> a = [5, 6, 16, 9]>>> np.mean(a)9.0

numpy 中的 average 方法不仅能求得简单平均数,也可以求出加权平均数。average 里面可以跟一个 weights 参数,里面是一个权数的数组,例如:

>>> np.average(a)>>> 9.0>>> np.average(a, weights = [1, 2, 1, 1])>>> 8.4

计算方差时,可以利用 numpy 中的 var 函数,默认是总体方差(计算时除以样本数 N),若需要得到样本方差(计算时除以 N - 1),需要跟参数 ddo f= 1,例如

>>> import pnumpy as np>>> a = [5, 6, 16, 9]>>> np.var(a) # 计算总体方差18.5>>> np.var(a, ddof = 1) # 计算样本方差24.666666666666668>>> b = [[4, 5], [6, 7]]>>> b[[4, 5], [6, 7]]>>> np.var(b) # 计算矩阵所有元素的方差1.25>>> np.var(b, axis = 0) # 计算矩阵每一列的方差array([1., 1.])>>> np.var(b, axis = 1) # 计算矩阵每一行的方差array([0.25, 0.25])

计算标准差时,可以利用 numpy 中的 std 函数,使用方法与 var 函数很像,默认是总体标准差,若需要得到样本标准差,需要跟参数 ddof =1,

>>> import pnumpy as np>>> a = [5, 6, 16, 9]>>> np.std(a) # 计算总体标准差4.301162633521313>>> np.std(a, ddof = 1 ) # 计算样本标准差4.96655480858378>>> np.std(b) # 计算矩阵所有元素的标准差1.118033988749895>>> np.std(b, axis = 0) # 计算矩阵每一列的标准差array([1., 1.])>>> np.std(b, axis = 1) # 计算矩阵每一列的标准差array([0.5, 0.5])
2. Pandas 计算均值、方差、标准差

对于 pandas ,也可以用里面的 mean 函数可以求得所有行或所有列的平均数,例如:

>>> import pandas as pd>>> df = pd.DataFrame(np.array([[85, 68, 90], [82, 63, 88], [84, 90, 78]]), columns=['统计学', '高数', '英语'], index=['张三', '李四', '王五'])>>> df    统计学  高数  英语张三   85  68  90李四   82  63  88王五   84  90  78>>> df.mean() # 显示每一列的平均数统计学    83.666667高数     73.666667英语     85.333333dtype: float64>>> df.mean(axis = 1) # 显示每一行的平均数张三    81.000000李四    77.666667王五    84.000000dtype: float64

若要得到某一行或某一列的平均值,则可以使用 iloc 选取改行或该列数据,后面跟 mean 函数就能得到,例如:

>>> df    统计学  高数  英语张三   85  68  90李四   82  63  88王五   84  90  78>>> df.iloc[0, :].mean()  # 得到第 1 行的平均值81.0>>> df.iloc[:, 2].mean() # 得到第 3 列的平均值85.33333333333333

pandas 中的 var 函数可以得到样本方差(注意不是总体方差),std 函数可以得到样本标准差,若要得到某一行或某一列的方差,则也可用 iloc 选取某行或某列,后面再跟 var 函数或 std 函数即可,例如:

>>> df.var() # 显示每一列的方差统计学      2.333333高数     206.333333英语      41.333333dtype: float64>>> df.var(axis = 1) # 显示每一行的方差张三    133.000000李四    170.333333王五     36.000000dtype: float64>>> df.std() # 显示每一列的标准差统计学     1.527525高数     14.364308英语      6.429101dtype: float64>>> df.std(axis = 1) # 显示每一行的标准差张三    11.532563李四    13.051181王五     6.000000dtype: float64>>> df.iloc[0, :].std() # 显示第 1 行的标准差11.532562594670797>>> df.iloc[:, 2].std() # 显示第 3 列的标准差6.429100507328636

参考:https://blog.csdn.net/robert_chen1988/article/details/102712946

总结

以上是内存溢出为你收集整理的python 计算均值、方差、标准差 Numpy,Pandas全部内容,希望文章能够帮你解决python 计算均值、方差、标准差 Numpy,Pandas所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1187645.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存