我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Python计算均值、方差、标准差、协方差等常用指标的方法——Numpy模块+Pandas模块

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Python计算均值、方差、标准差、协方差等常用指标的方法——Numpy模块+Pandas模块

Python计算均值、方差、标准差、协方差等常用指标的方法——Numpy模块+Pandas模块

一、利用Numpy模块计算均值、方差、标准差等

函数功能示例
np.mean(list_a)计算列表list_a的均值若a = [5, 6, 16, 9], 则np.mean(a)=9.0
np.average(list_a)计算列表list_a的均值若a = [5, 6, 16, 9], 则np.average(a)=9.0
np.average(list_a, weights = [1, 2, 1, 1])计算列表list_a的加权平均数若a = [5, 6, 16, 9], 则np.average(a, weights = [1, 2, 1, 1])=8.4
np.var(list_a)计算列表list_a的总体方差若a = [5, 6, 16, 9],则np.var(a) =18.5
np.var(list_a, ddof = 1)计算列表list_a的样本方差若a = [5, 6, 16, 9],则np.var(a, ddof = 1) =24.67
np.std(list_a)计算列表list_a的总体标准差若a = [5, 6, 16, 9],则np.std(a) =4.3
np.std(list_a, ddof = 1)计算列表list_a的样本标准差若a = [5, 6, 16, 9],则np.std(a, ddof = 1) =4.96
np.median(list_a)计算列表list_a的中位数若a = [5, 6, 16, 9], 则np.median(a)=7.5
np.mode(list_a)计算列表list_a的众数若a = [5, 6, 16, 9], 则np.mode(a)=7.5
np.percentile(list_a, (25))计算列表list_a的第1四分位数若a = [1,2,3,4,5,6,7,8,9,10,11,12] ,则np.mode(a)=3.75
np.percentile(list_a, (50))计算列表list_a的第2四分位数若a = [1,2,3,4,5,6,7,8,9,10,11,12] ,则np.mode(a)=6.5
np.percentile(list_a, (75))计算列表list_a的第3四分位数若a = [1,2,3,4,5,6,7,8,9,10,11,12] ,则np.mode(a)=9.25
np.percentile(list_a, (25)) - np.percentile(list_a, (75))计算列表list_a的四分位差
np.max(list_a) - np.min(list_a))计算列表list_a的极差
np.std(list_a)/np.mean(list_a))计算列表list_a的离散系数

参考链接:数据的离散程度度量:极差、四分位差、平均差、方差、标准差、异众比率、离散系数

均值:

  1. 可以用 numpy 中的 mean方法求得 :
import numpy as npa = [5, 6, 16, 9]np.mean(a)>>> 9.0
  1. 可以用numpy 中的 average 方法也能求得简单平均数。此外,它也可以求出 加权平均数 。(average 里面可以跟一个 weights 参数,里面是一个权数的数组)例如:
import numpy as npa = [5, 6, 16, 9]np.average(a)>>> 9.0# 加权平均数计算:average 里面可以跟一个 weights 参数,里面是一个权数的数组np.average(a, weights = [1, 2, 1, 1])>>> 8.4

方差:

  1. 若计算 总体方差(计算时除以样本数 N),可以利用 numpy 中的 var 函数,默认参数置空即可;
  2. 若计算 样本方差(计算时除以 N - 1),可以利用 numpy 中的 var 函数,但需要跟参数 ddof= 1

典型实例:

示例1(一维):import pnumpy as npa = [5, 6, 16, 9]# 计算总体方差np.var(a) >>>18.5# 计算样本方差np.var(a, ddof = 1) 24.666666666666668示例2(多维):b = [[4, 5], [6, 7]]print(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])

标准差:

  1. 若计算 总体标准差(计算时除以样本数 N),可以利用 numpy 中的 std 函数,默认参数置空即可;
  2. 若计算 样本方差(计算时除以 N - 1),可以利用 numpy 中的 std 函数,但需要跟参数 ddof= 1

典型实例:

示例1(一维):import numpy as npa = [5, 6, 16, 9]# 计算总体标准差np.std(a) >>>4.301162633521313# 计算样本标准差np.std(a, ddof = 1 ) >>> 4.96655480858378示例2(多维):b = [[4, 5], [6, 7]]# 计算矩阵所有元素的标准差np.std(b) >>> 1.118033988749895# 计算矩阵每一列的标准差np.std(b, axis = 0) >>> array([1., 1.])# 计算矩阵每一列的标准差np.std(b, axis = 1) >>> array([0.5, 0.5])

二、利用Numpy模块计算均值、方差、标准差等

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

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

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

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

pandas 中的 var 函数可以计算 样本方差(注意不是总体方差),std 函数可以得到 样本标准差

若要得到某一行或某一列的方差,则也可用 df.iloc 选取某行或某列,后面再跟 var 函数std 函数即可,例如:

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

来源地址:https://blog.csdn.net/weixin_42782150/article/details/125563026

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Python计算均值、方差、标准差、协方差等常用指标的方法——Numpy模块+Pandas模块

下载Word文档到电脑,方便收藏和打印~

下载Word文档

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录