python数据分析numpy基础之mean用法和示例
1 python数据分析numpy基础之mean用法和示例
python的numpy库的mean()函数,用于计算沿指定轴(一个轴或多个轴)的算术平均值。
用法
numpy.mean(a, axis=None, dtype=None, out=None, keepdims=<no value>, *, where=<no value>)
描述
返回数组元素的平均值。长度为0的数组的mean为nan。
等效于对指定轴求后,然后除以轴大小,即为其平均值。
入参
a:必选,array_like,数组或列表或元组,表示需要计算平均数的元素的数组。
axis:可选,默认为None,整数或整数元组,表示需要计算平均值的一个或多个轴。
1.1 入参a
numpy.mean()的入参a,为必选入参,可以为数组、列表、元组。如果a长度为0,则返回NaN。表示需要求平均值的数组。
>>> import numpy as np
# 入参a为列表
>>> np.mean([1,2,3,4,5])
3.0
# 入参a为元组
>>> np.mean((1,2,3,4,5))
3.0
# 入参a为数组
>>> np.mean(np.array([1,2,3,4,5]))
3.0
# 入参a的长度为0,返回NaN,并且第1次报错,后面不再报错
>>> np.mean(np.array([]))
Warning (from warnings module):File "D:\python3\lib\site-packages\numpy\core\fromnumeric.py", line 3441out=out, **kwargs)
RuntimeWarning: Mean of empty slice.Warning (from warnings module):File "D:\python3\lib\site-packages\numpy\core\_methods.py", line 189ret = ret.dtype.type(ret / rcount)
RuntimeWarning: invalid value encountered in double_scalars
nan
>>> np.mean(np.array([]))
nan
1.2 入参axis为整数
numpy.mean()的入参axis为可选入参,默认为None,表示求全部元素的平均值。
若axis=n为整数,则对指定轴n的元素求平均值,即,先对同轴同方向的元素求和,再除以同轴同方向的元素个数(轴大小),即为其平均值。
若axis=负数,则-1对应最后一个轴,-2倒数第2个轴,依此类推。
>>> import numpy as np
# 创建一个三维数组,大小为(2,3,4)
>>> ar3=np.arange(24).reshape(2,3,4)
>>> ar3
array([[[ 0, 1, 2, 3],[ 4, 5, 6, 7],[ 8, 9, 10, 11]],[[12, 13, 14, 15],[16, 17, 18, 19],[20, 21, 22, 23]]])
# 入参 axis默认为None,求全部元素的平均值
>>> np.mean(ar3)
11.5
# axis=整数,同轴同方向求和,再除以轴大小
# axis=0,先对0轴求和,再除以2
>>> np.mean(ar3,axis=0)
array([[ 6., 7., 8., 9.],[10., 11., 12., 13.],[14., 15., 16., 17.]])
# np.mean(ar3,axis=0)=np.sum(ar3,axis=0)/2
>>> np.sum(ar3,axis=0)/2
array([[ 6., 7., 8., 9.],[10., 11., 12., 13.],[14., 15., 16., 17.]])
# axis=1,先对1轴求和,再除以3
>>> np.mean(ar3,axis=1)
array([[ 4., 5., 6., 7.],[16., 17., 18., 19.]])
# np.mean(ar3,axis=1)=np.sum(ar3,axis=1)/3
>>> np.sum(ar3,axis=1)/3
array([[ 4., 5., 6., 7.],[16., 17., 18., 19.]])
# axis=2,先对2轴求和,再除以4
>>> np.mean(ar3,axis=2)
array([[ 1.5, 5.5, 9.5],[13.5, 17.5, 21.5]])
# np.mean(ar3,axis=2)=np.sum(ar3,axis=2)/4
>>> np.sum(ar3,axis=2)/4
array([[ 1.5, 5.5, 9.5],[13.5, 17.5, 21.5]])
# axis=负数,则-1对应最后一个轴,-2倒数第2个轴,依此类推
>>> np.mean(ar3,axis=-1)
array([[ 1.5, 5.5, 9.5],[13.5, 17.5, 21.5]])
1.3 入参axis为元组
numpy.mean()的入参axis若为轴的元组,则对多个轴求平均值。
先对多个轴的元素求和,再除以多个轴的大小的乘积,即为其平均值。
axis=(m,n)等效于axis=(n,m)。
>>> import numpy as np
# 创建一个三维数组,大小为(2,3,4)
>>> ar3=np.arange(24).reshape(2,3,4)
>>> ar3
array([[[ 0, 1, 2, 3],[ 4, 5, 6, 7],[ 8, 9, 10, 11]],[[12, 13, 14, 15],[16, 17, 18, 19],[20, 21, 22, 23]]])
# axis=元组,对多个轴求和,再除以多个轴大小的乘积
# axis=(0,1),先对0和1轴求和,再除以6,6=2*3
>>> np.mean(ar3,axis=(0,1))
array([10., 11., 12., 13.])
>>> np.sum(ar3,axis=(0,1))/6
array([10., 11., 12., 13.])
# axis=(1,0)等效于axis=(0,1)
>>> np.mean(ar3,axis=(1,0))
array([10., 11., 12., 13.])
# axis=(0,1),先对0和2轴求和,再除以8,8=2*4
>>> np.mean(ar3,axis=(0,2))
array([ 7.5, 11.5, 15.5])
>>> np.sum(ar3,axis=(0,2))/8
array([ 7.5, 11.5, 15.5
# axis=(1,2),先对1和2轴求和,再除以12,12=3*4
>>> np.mean(ar3,axis=(1,2))
array([ 5.5, 17.5])
>>> np.sum(ar3,axis=(1,2))/12
array([ 5.5, 17.5])
相关文章:
python数据分析numpy基础之mean用法和示例
1 python数据分析numpy基础之mean用法和示例 python的numpy库的mean()函数,用于计算沿指定轴(一个轴或多个轴)的算术平均值。 用法 numpy.mean(a, axisNone, dtypeNone, outNone, keepdims<no value>, *, where<no value>)描述 返回数组元素的平均值…...
微服务学习 | Springboot整合Dubbo+Nacos实现RPC调用
🏷️个人主页:鼠鼠我捏,要死了捏的主页 🏷️系列专栏:Golang全栈-专栏 🏷️个人学习笔记,若有缺误,欢迎评论区指正 前些天发现了一个巨牛的人工智能学习网站,通俗易懂&…...
只允许访问固定网址,如何让电脑只能上指定的网站
在企业管理中,确保员工在工作时能够专注于指定的任务和资源至关重要。为了实现这一目标,许多企业选择限制员工电脑的访问权限,只允许他们访问固定的网址或网站。 这种策略不仅有助于提高工作效率,还能减少因不当上网行为带来的安全…...
作业帮 x TiDB丨多元化海量数据业务的支撑
导读 作业帮是一家成立于 2015 年的在线教育品牌,致力于用科技手段助力教育普惠。经过近十年的积累,作业帮运用人工智能、大数据等技术,为学生、老师、家长提供学习、教育解决方案,智能硬件产品等。随着公司产品和业务场景越来越…...
文生图提示词:天气条件
天气和气候 --天气条件 Weather Conditions 涵盖了从基本的天气类型到复杂的气象现象,为描述不同的天气和气候条件提供了丰富的词汇。 Sunny 晴朗 Cloudy 多云 Overcast 阴天 Partly Cloudy 局部多云 Clear 清晰 Foggy 雾 Misty 薄雾 Hazy 朦胧 Rainy 下雨 Showers …...
【nginx实践连载-3】发布VSTO应用
要使用 Nginx 发布 VSTO 应用程序,需要将 ClickOnce 发布文件夹部署到 Nginx 服务器上。以下是一些步骤: 将 ClickOnce 发布文件夹复制到 Nginx 服务器上。确认 Nginx 配置文件中有一个指向 ClickOnce 发布文件夹的位置块。确保Nginx 配置文件中启用了 …...
【前端工程化面试题】使用 webpack 来优化前端性能/ webpack的功能
这个题目实际上就是来回答 webpack 是干啥的,你对webpack的理解,都是一个问题。 (1)对 webpack 的理解 webpack 为啥提出 webpack 是啥 webpack 的主要功能 前端开发通常是基于模块化的,为了提高开发效率࿰…...
思迈特再获国家权威认证:代码自主率98.78%
日前,思迈特软件自主研发的商业智能与数据分析软件(Smartbi Insight)通过中国赛宝实验室(工业和信息化部电子第五研究所)代码扫描测试,Smartbi Insight V11版本扫描测得代码自主率为98.78%的好成绩…...
JavaScript排序
直接看代码 <table border"1" cellspacing"0"><thead class"tou"><tr><td>选择按钮</td><td>汽车编号</td><td>汽车图片</td><td>汽车系列名称</td><td>汽车能源</…...
【读书笔记】ICS设备及应用攻击(一)
工控系统通常是由互联设备所构成的大型复杂系统,这些设备包括类似于人机界面(HMI)、PLC、传感器、执行器以及其他使用协商好的协议进行相互通信的设备。所有交互背后的驱动力都是软件,软件为工控系统中几乎所有部分的运行提供支撑…...
网络原理(HTTP篇)
网络原理HTTP 前言HTTPHTTP的工作流程抓包工具抓取HTTP报文HTTP报文格式 请求报文具体细节首行URLURL的基本格式URL encode 方法 报头(header)HostContent-Length 和 Content-TypeUser-Agent(UA)RefererCookie(重要) 前言 如图&a…...
关于油封密封件你了解多少?
油封也称为轴封或旋转轴封,旨在防止设备中的润滑剂泄漏,并防止外部污染物进入机械。它们通常用于泵和电机等旋转设备,在固定部件和移动部件之间提供密封界面。 油封的有效性很大程度上取决于其材料。不同的材料具有不同程度的耐热性、耐压性…...
Leetcode 72 编辑距离
题意理解: 给你两个单词 word1 和 word2, 请返回将 word1 转换成 word2 所使用的最少操作数 。 你可以对一个单词进行如下三种操作: 插入一个字符 删除一个字符 替换一个字符 将word1转换为word2,可以进行三种操作:增、删、改&am…...
羊大师揭秘,如何挑选出好牧场的奶羊,该怎么看
羊大师揭秘,如何挑选出好牧场的奶羊,该怎么看 了解牧场的管理和环境:好的牧场应该有规范的管理制度,环境整洁,草场茂盛,为奶羊提供了充足的食物和良好的生活环境。在这样的牧场中,奶羊能够得到…...
MySQL数据库基础(八):DML数据操作语言
文章目录 DML数据操作语言 一、DML包括哪些SQL语句 二、数据的增删改(重点) 1、数据的增加操作 2、数据的修改操作 3、数据的删除操作 DML数据操作语言 一、DML包括哪些SQL语句 insert插入、update更新、delete删除 二、数据的增删改(…...
(09)Hive——CTE 公共表达式
目录 1.语法 2. 使用场景 select语句 chaining CTEs 链式 union语句 insert into 语句 create table as 语句 前言 Common Table Expressions(CTE):公共表达式是一个临时的结果集,该结果集是从with子句中指定的查询派生而来…...
Spring 用法学习总结(四)之 JdbcTemplate 连接数据库
🐉目录 9 JdbcTemplate 9 JdbcTemplate Spring 框架对 JDBC 进行了封装,使用 JdbcTemplate 方便实现对数据库操作 相关包: 百度网盘链接https://pan.baidu.com/s/1Gw1l6VKc-p4gdqDyD626cg?pwd6666 创建properties配置文件 💥注意…...
第 385 场 LeetCode 周赛题解
A 统计前后缀下标对 I 模拟 class Solution { public:int countPrefixSuffixPairs(vector<string> &words) {int n words.size();int res 0;for (int i 0; i < n; i)for (int j i 1; j < n; j)if (words[i].size() < words[j].size()) {int li words[…...
什么是RabbitMQ?
一、引言 RabbitMQ是一个开源的消息代理软件,用于在分布式系统中传递消息。它实现了高级消息队列协议(AMQP),提供了一种可靠的、强大的、灵活的消息传递机制,使得不同应用程序或组件之间可以轻松地进行通信。 二、概念…...
JWT登录验证前后端设计与实现笔记
设计内容 前端 配置全局前置路由守卫axios拦截器登录页面和主页 后端 JWT的封装登录接口中间件放行mysql数据库的连接 详细设计 路由设计 配置全局前置守卫,如果访问的是登录页面则放行,不是则进入判断是否有token,没有则拦截回到登录…...
第19节 Node.js Express 框架
Express 是一个为Node.js设计的web开发框架,它基于nodejs平台。 Express 简介 Express是一个简洁而灵活的node.js Web应用框架, 提供了一系列强大特性帮助你创建各种Web应用,和丰富的HTTP工具。 使用Express可以快速地搭建一个完整功能的网站。 Expre…...
工业安全零事故的智能守护者:一体化AI智能安防平台
前言: 通过AI视觉技术,为船厂提供全面的安全监控解决方案,涵盖交通违规检测、起重机轨道安全、非法入侵检测、盗窃防范、安全规范执行监控等多个方面,能够实现对应负责人反馈机制,并最终实现数据的统计报表。提升船厂…...
系统设计 --- MongoDB亿级数据查询优化策略
系统设计 --- MongoDB亿级数据查询分表策略 背景Solution --- 分表 背景 使用audit log实现Audi Trail功能 Audit Trail范围: 六个月数据量: 每秒5-7条audi log,共计7千万 – 1亿条数据需要实现全文检索按照时间倒序因为license问题,不能使用ELK只能使用…...
关键领域软件测试的突围之路:如何破解安全与效率的平衡难题
在数字化浪潮席卷全球的今天,软件系统已成为国家关键领域的核心战斗力。不同于普通商业软件,这些承载着国家安全使命的软件系统面临着前所未有的质量挑战——如何在确保绝对安全的前提下,实现高效测试与快速迭代?这一命题正考验着…...
AGain DB和倍数增益的关系
我在设置一款索尼CMOS芯片时,Again增益0db变化为6DB,画面的变化只有2倍DN的增益,比如10变为20。 这与dB和线性增益的关系以及传感器处理流程有关。以下是具体原因分析: 1. dB与线性增益的换算关系 6dB对应的理论线性增益应为&…...
FFmpeg:Windows系统小白安装及其使用
一、安装 1.访问官网 Download FFmpeg 2.点击版本目录 3.选择版本点击安装 注意这里选择的是【release buids】,注意左上角标题 例如我安装在目录 F:\FFmpeg 4.解压 5.添加环境变量 把你解压后的bin目录(即exe所在文件夹)加入系统变量…...
MySQL:分区的基本使用
目录 一、什么是分区二、有什么作用三、分类四、创建分区五、删除分区 一、什么是分区 MySQL 分区(Partitioning)是一种将单张表的数据逻辑上拆分成多个物理部分的技术。这些物理部分(分区)可以独立存储、管理和优化,…...
适应性Java用于现代 API:REST、GraphQL 和事件驱动
在快速发展的软件开发领域,REST、GraphQL 和事件驱动架构等新的 API 标准对于构建可扩展、高效的系统至关重要。Java 在现代 API 方面以其在企业应用中的稳定性而闻名,不断适应这些现代范式的需求。随着不断发展的生态系统,Java 在现代 API 方…...
零知开源——STM32F103RBT6驱动 ICM20948 九轴传感器及 vofa + 上位机可视化教程
STM32F1 本教程使用零知标准板(STM32F103RBT6)通过I2C驱动ICM20948九轴传感器,实现姿态解算,并通过串口将数据实时发送至VOFA上位机进行3D可视化。代码基于开源库修改优化,适合嵌入式及物联网开发者。在基础驱动上新增…...
MySQL的pymysql操作
本章是MySQL的最后一章,MySQL到此完结,下一站Hadoop!!! 这章很简单,完整代码在最后,详细讲解之前python课程里面也有,感兴趣的可以往前找一下 一、查询操作 我们需要打开pycharm …...
