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,没有则拦截回到登录…...
Arm Compiler 6.19嵌入式开发工具链解析
1. Arm Compiler for Embedded 6.19版本深度解析Arm Compiler for Embedded 6.19是Arm公司于2022年10月12日发布的嵌入式C/C编译工具链。作为一款专为裸机软件、固件和实时操作系统(RTOS)应用开发设计的工具链,它提供了对Arm架构最新特性的支持。需要注意的是&#…...
零代码构建你的AI知识库:让Obsidian笔记开口说话
零代码构建你的AI知识库:让Obsidian笔记开口说话 【免费下载链接】anything-llm The all-in-one AI productivity accelerator. On device and privacy first with no annoying setup or configuration. 项目地址: https://gitcode.com/GitHub_Trending/an/anythi…...
告别电流畸变!手把手教你用PR调节器搞定开绕组电机零序电流(附Simulink仿真模型)
开绕组电机零序电流抑制实战:PR调节器参数整定与Simulink仿真指南 当开绕组永磁同步电机(OEW-PMSM)运行在考虑永磁体三次谐波反电动势的场景时,工程师们常会遇到一个棘手问题——三倍频零序电流导致的相电流畸变和转矩脉动。这种现…...
Redis Sentinel:主从架构的自动保镖详解
Redis 哨兵(Sentinel):主从架构的「自动保镖」 在 Redis 主从复制经典架构当中,主节点(Master)全权负责集群读写核心请求处理,从节点(Slave)仅专注于实时同步主节点数据&…...
ARM指令集架构与安全指令解析:APAS、ASR与AUT
1. ARM指令集架构概述在处理器设计领域,指令集架构(Instruction Set Architecture, ISA)定义了处理器与软件之间的契约。作为RISC(精简指令集计算机)架构的代表,ARM指令集以其高效能和低功耗特性࿰…...
架构实战:面向特种设备合规的非侵入式机器人跨层调度解耦设计
摘要: 在智能园区的多机协同配送业务中,如果上位机调度系统直接与底层品牌各异的电梯强耦合,不仅研发适配成本高,且入侵特种设备总线的方案极难通过国家特种设备检验局的安全审核。面对合规双重限制,架构师亟需一种高度…...
C51可重入函数原理与实践指南
1. 理解C51中的可重入函数概念 在8051单片机开发中,可重入函数(Reentrant Function)是一个关键但常被误解的概念。与通用计算机上的C语言开发不同,由于8051架构的特殊限制,标准C51函数默认都是不可重入的。这源于8051硬件设计的几个固有特点&…...
NotebookLM多源文档交叉去重实战:基于BERT-Embedding相似度阈值调优(附可复用Python脚本)
更多请点击: https://intelliparadigm.com 第一章:NotebookLM多源文档交叉去重的核心挑战与价值定位 NotebookLM 作为 Google 推出的基于引用的 AI 笔记工具,其核心能力依赖于对用户上传文档的语义理解与跨文档关联。然而当用户导入多个来源…...
长期使用 Taotoken 过程中对其服务稳定性的主观感受记录
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 长期使用 Taotoken 过程中对其服务稳定性的主观感受记录 1. 背景与使用模式 过去的一个季度,我负责的一个中型项目进入…...
运维开发必备:5分钟搞定CentOS 7下ncurses库的安装与基础使用
运维开发必备:5分钟搞定CentOS 7下ncurses库的安装与基础使用 在服务器运维和自动化工具开发中,命令行界面(CLI)的高效交互能力往往决定了管理效率的上限。当我们需要在无GUI环境的Linux服务器上开发监控面板、配置向导或系统管理…...
