利用python计算均值、方差和标准差(Numpy和Pandas)

 更新时间:2023年11月13日 11:06:16   作者:Python老猿  
这篇文章主要给大家介绍了关于利用python计算均值、方差和标准差的相关资料,Numpy在Python中是一个通用的数组处理包,它提供了一个高性能的多维数组对象和用于处理这些数组的工具,它是使用Python进行科学计算的基础包,需要的朋友可以参考下

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.333333
	dtype: float64
	>>> df.mean(axis = 1) # 显示每一行的平均数
	张三    81.000000
	李四    77.666667
	王五    84.000000
	dtype: 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.333333
	dtype: float64
	>>> df.var(axis = 1) # 显示每一行的方差
	张三    133.000000
	李四    170.333333
	王五     36.000000
	dtype: float64
	>>> df.std() # 显示每一列的标准差
	统计学     1.527525
	高数     14.364308
	英语      6.429101
	dtype: float64
	>>> df.std(axis = 1) # 显示每一行的标准差
	张三    11.532563
	李四    13.051181
	王五     6.000000
	dtype: float64
	>>> df.iloc[0, :].std() # 显示第 1 行的标准差
	11.532562594670797
	>>> df.iloc[:, 2].std() # 显示第 3 列的标准差
	6.429100507328636

总结 

到此这篇关于利用python计算均值、方差和标准差的文章就介绍到这了,更多相关python计算均值方差和标准差内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 详解用Pytest+Allure生成漂亮的HTML图形化测试报告

    详解用Pytest+Allure生成漂亮的HTML图形化测试报告

    这篇文章主要介绍了详解用Pytest+Allure生成漂亮的HTML图形化测试报告,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-03-03
  • python中pytest收集用例规则与运行指定用例详解

    python中pytest收集用例规则与运行指定用例详解

    这篇文章主要介绍了python中pytest收集用例规则与运行指定用例详解,天会讲解一下pytest是如何收集我们写好的用例?我们又有哪些方式来运行单个用例或者批量运行用例呢,需要的朋友可以参考下
    2019-06-06
  • Python3.8对可迭代解包的改进及用法详解

    Python3.8对可迭代解包的改进及用法详解

    这篇文章主要介绍了Python3.8对可迭代解包的改进及用法详解,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-10-10
  • Python实现base64编码

    Python实现base64编码

    这篇文章介绍了Python实现base64编码的方法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-06-06
  • Django中使用Redis配置缓存的方法步骤

    Django中使用Redis配置缓存的方法步骤

    本文主要介绍了Django中使用Redis配置缓存的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-05-05
  • 教你实现Ubuntu安装Python

    教你实现Ubuntu安装Python

    这篇文章主要为大家介绍了Ubuntu安装Python的实现过程详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-06-06
  • python套接字流重定向实例汇总

    python套接字流重定向实例汇总

    套接字是一种具有之前所说的“通信端点”概念的计算网络数据结构。相当于电话插口,没它无法通信,这个比喻非常形象。今天我们就来汇总一下套接字流重定向的实例
    2016-03-03
  • Python自动创建Excel并获取内容

    Python自动创建Excel并获取内容

    这篇文章主要介绍了Python自动创建Excel并获取内容,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • 详解Python字符串切片

    详解Python字符串切片

    这篇文章主要介绍了Python字符串切片,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-05-05
  • 30秒轻松实现TensorFlow物体检测

    30秒轻松实现TensorFlow物体检测

    这篇文章主要为大家详细介绍了30秒轻松实现TensorFlow物体检测,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-03-03

最新评论