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,没有则拦截回到登录…...

wordpress后台更新后 前端没变化的解决方法
使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…...

MFC内存泄露
1、泄露代码示例 void X::SetApplicationBtn() {CMFCRibbonApplicationButton* pBtn GetApplicationButton();// 获取 Ribbon Bar 指针// 创建自定义按钮CCustomRibbonAppButton* pCustomButton new CCustomRibbonAppButton();pCustomButton->SetImage(IDB_BITMAP_Jdp26)…...

从深圳崛起的“机器之眼”:赴港乐动机器人的万亿赛道赶考路
进入2025年以来,尽管围绕人形机器人、具身智能等机器人赛道的质疑声不断,但全球市场热度依然高涨,入局者持续增加。 以国内市场为例,天眼查专业版数据显示,截至5月底,我国现存在业、存续状态的机器人相关企…...

【JVM面试篇】高频八股汇总——类加载和类加载器
目录 1. 讲一下类加载过程? 2. Java创建对象的过程? 3. 对象的生命周期? 4. 类加载器有哪些? 5. 双亲委派模型的作用(好处)? 6. 讲一下类的加载和双亲委派原则? 7. 双亲委派模…...

Git 3天2K星标:Datawhale 的 Happy-LLM 项目介绍(附教程)
引言 在人工智能飞速发展的今天,大语言模型(Large Language Models, LLMs)已成为技术领域的焦点。从智能写作到代码生成,LLM 的应用场景不断扩展,深刻改变了我们的工作和生活方式。然而,理解这些模型的内部…...
SpringAI实战:ChatModel智能对话全解
一、引言:Spring AI 与 Chat Model 的核心价值 🚀 在 Java 生态中集成大模型能力,Spring AI 提供了高效的解决方案 🤖。其中 Chat Model 作为核心交互组件,通过标准化接口简化了与大语言模型(LLM࿰…...
面试高频问题
文章目录 🚀 消息队列核心技术揭秘:从入门到秒杀面试官1️⃣ Kafka为何能"吞云吐雾"?性能背后的秘密1.1 顺序写入与零拷贝:性能的双引擎1.2 分区并行:数据的"八车道高速公路"1.3 页缓存与批量处理…...

归并排序:分治思想的高效排序
目录 基本原理 流程图解 实现方法 递归实现 非递归实现 演示过程 时间复杂度 基本原理 归并排序(Merge Sort)是一种基于分治思想的排序算法,由约翰冯诺伊曼在1945年提出。其核心思想包括: 分割(Divide):将待排序数组递归地分成两个子…...

【大模型】RankRAG:基于大模型的上下文排序与检索增强生成的统一框架
文章目录 A 论文出处B 背景B.1 背景介绍B.2 问题提出B.3 创新点 C 模型结构C.1 指令微调阶段C.2 排名与生成的总和指令微调阶段C.3 RankRAG推理:检索-重排-生成 D 实验设计E 个人总结 A 论文出处 论文题目:RankRAG:Unifying Context Ranking…...

Element-Plus:popconfirm与tooltip一起使用不生效?
你们好,我是金金金。 场景 我正在使用Element-plus组件库当中的el-popconfirm和el-tooltip,产品要求是两个需要结合一起使用,也就是鼠标悬浮上去有提示文字,并且点击之后需要出现气泡确认框 代码 <el-popconfirm title"是…...