Python疑难杂症(14)---Numpy知识集合(二)学习Python的NUMpy模块的定向取值、聚合分析函数、矩阵运算等

news2024/11/27 2:18:45

4、索引取值

像对 python 列表那样进行切片,对 NumPy 数组进行任意的索引和切片,取得数组或者单个的元素值。

arr1=np.array([1,2,3,4,5,6,7])

print(arr1)

print(arr1[5])

print(arr1[2:4])

输出:[1 2 3 4 5 6 7]

6

[3 4]

B = np.array([[5, 6,6], [7, 8,9]])

print(B)

print(B[1,1])

输出:array([[5, 6, 6],

       [7, 8, 9]])

B[1,1]

B = np.array([[3,4,5, 6], [ 8,9,10,11]])

print(B)

print(B[1,1])

print(B[0,1:3])

print(B[0:2,1:3])

输出:

[[ 3  4  5  6]

 [ 8  9 10 11]]

9

[4 5]

[[ 4  5]

 [ 9 10]]

5、聚合功能

NumPy模块中还提供聚合功能函数,主要包括 min、max 和 sum、 mean 等,还可以使用 prod 得到所有元素的乘积(也可以使用参数axis=1计算每一行元素的乘积。),使用 std 得到标准差等。

例如:

arr1=np.array([1,2,3])

arr2=np.array([[1,10],[100,1000],[10000,100000]])

arr3=np.array([1,2])

print(arr2)

print('最大值是:',arr2.max())

print( '最小值是:', arr2.min())

print('平均值是:', arr2.mean())

print( '求和是:', arr2.sum())

print('arr1元素乘积是:', arr1.prod())

print('标准差是:',arr2.std())

输出:

[[     1     10]

 [   100   1000]

 [ 10000 100000]]

最大值是: 100000

最小值是: 1

平均值是: 18518.5

求和是: 111111

arr1元素乘积是: 6

标准差是: 36613.752078283374

6、矩阵运算

数组算术运算和矩阵运算的一个关键区别是矩阵乘法使用点乘,为每个矩阵赋予 dot() 方法,我们可以用它与其他矩阵执行点乘操作:

numpy.dot(a, b, out=None)

其中,a和b是要进行矩阵乘法运算的两个数组。这两个数组可以是一维或多维的,但是它们的维度必须满足矩阵乘法的规则。out参数是可选的,用于指定结果存储的位置。

矩阵相乘是np.dot函数最常用的功能之一。有两个矩阵A和B,它们的形状分别为(m, n)和(n, p),则它们的乘积C的形状为(m, p),即C = A.dot(B)。下面是一个例子:

import numpy as np

A = np.array([[1, 2], [3, 4]])

B = np.array([[5, 6], [7, 8]])

C = np.dot(A, B)

print(C)

输出:

[[19 22]

[43 50]]

7、矩阵转置

处理矩阵时的一个常见需求是旋转矩阵。当需要对两个矩阵执行点乘运算并对齐它们共享的维度时,通常需要进行转置。NumPy 数组有一个方便的方法 T 来求得矩阵转置:

print(arr2)

print(arr2.T)

输出:

[[     1     10]

 [   100   1000]

 [ 10000 100000]]

转置后的矩阵

[[     1    100  10000]

 [    10   1000 100000]]

8、均方差计算

均方差公式:

https://mmbiz.qpic.cn/mmbiz_jpg/jupejmznDCibDiaSlw7T1CyJNkaLicTM4ZiakbKvUkSy974CGFSGr5ZRoibJ5agG8G3QdNKq3dsGRbccGsdTSYN5icicA/640?wx_fmt=jpeg&tp=wxpic&wxfrom=5&wx_lazy=1&wx_co=1

这个均方差公式,是监督机器学习模型处理回归问题的核心,是预测值和实际值之间的波动大小的情况的量化值。而在在 NumPy 中实现该公式就很容易了:

https://mmbiz.qpic.cn/mmbiz_png/jupejmznDCibDiaSlw7T1CyJNkaLicTM4ZiabtHw5fX8RH8Y500QvE6uFIo34VRtWtKrdsWVibguRTBZPVNFKvJM4Jw/640?wx_fmt=png&tp=wxpic&wxfrom=5&wx_lazy=1&wx_co=1

这样做的方法就是将predictions数组和实际原值labels数据的差平方,再求和并求平均,得到均方差error,结果即为该预测的误差值和模型质量评分。而在计算过程中不用在

这样做的好处在于,NumPy 并不关心 predictions 和 labels 包含一个值还是一千个值(只要它们大小相同)。

代码举例:

np.random.seed(0)

predictions=np.random.random(10)

labels =np.random.random(10)

print('预测值是:',predictions)

print('样本实验值是:', labels)

error=(1/10)*np.sum(np.square(predictions-labels))

print('均方差error=',error)

输出结果:

预测值是: [0.62027802 0.62348494 0.03833878 0.04591209 0.24930147 0.2025378

 0.55266408 0.91764512 0.00142433 0.60320505]

样本实验值是: [0.18542253 0.36114737 0.93138771 0.9414958  0.86235216 0.91268468

 0.65224417 0.69472437 0.16548572 0.3526313 ]

均方差error= 0.28869798046669465

先介绍到这里,如果知识有用,欢迎评论、收藏、点赞等,也欢迎学习的小伙伴交流。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1563021.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何分析现货白银的行情?2个工具的介绍

现在给投资者拿出一段现货白银行情,投资者会如何分析?怎么找到其中的机会呢?相信有不少人对此还是不甚了解。有的投资者平常看书学得头头是道,但是一碰到实际行情就懵了,这都是没有好好掌握如何分析现货白银行情的方法…

VScode debug python(服务器)

方法一: 创建launch.json文件: launch.json文件地址: launch.json文件内容: {"version": "0.2.0", //指定了配置文件的版本"configurations": [{"name": "Python: Current File&…

WordPress外贸建站Astra免费版教程指南(2024)

在WordPress的外贸建站主题中,有许多备受欢迎的主题,如Avada、Astra、Hello、Kadence等最佳WordPress外贸主题,它们都能满足建站需求并在市场上广受认可。然而,今天我要介绍的是一个不断颠覆建站人员思维的黑马——Astra主题。 原…

【Javascript 漫游】【050】数据类型 Symbol

文章简介 本篇文章为【JavaScript 漫游】专栏的第 050 篇文章,对 ES6 规范新增的 Symbol 数据类型的知识点进行了记录。 概述 ES5 的对象属性名都是字符串,这容易造成属性名的冲突。比如,我们使用了一个他人提供的对象,但又想为…

ts 中数据约束类型

在 swagger 等接口文档中,查看 json代码,复制 将其导入到 json.cn,便于查看 在api文件夹下,新建一个定义ts类型的文件 type.ts。 定义数据类型 ---> export interface Bbb {} 调用数据类型----> export type Xxx Bbb[]…

多导购分摊业绩比例

业务场景&#xff1a; 开单是多个销售参与开单的&#xff0c;但是每个人贡献不一致&#xff0c;所以分摊的业绩比例不一致&#xff0c;总业绩比为100%。 //点击按钮&#xff0c;弹窗 <image bindtap"handleAddsales" src"/images/add.png" style"…

mongodb sharding分片模式的集群数据库,日志治理缺失导致写入数据库报错MongoWriteConcernException的问题总结(下)

一、接着上文 上文介绍了mongodb sharding的分片集群搭建&#xff0c;本文侧重于讲述日志治理。 这里使用linux自带的日志治理工具logrotate&#xff0c;无论是哪个端口的进程&#xff0c;其日志治理方式类似。 查看/data目录下的文件大小&#xff0c; du -hs *二、Logrota…

应用方案 | 内置ALC的音频前置放大器D2538A和D3308芯片

一、应用领域 D2538A和D3308是芯谷科技推出的两款内置ALC&#xff08;音频限幅器&#xff09;的前置音频放大器芯片&#xff0c;其中D2538A为单通道&#xff0c;D3308为双通道&#xff0c;它特别适用于胎心仪、个人医疗防护、立体声收录机、盒式录音机等涉及音频放大与限幅的产…

算法——矩阵,被围绕的区域

. - 力扣&#xff08;LeetCode&#xff09; 最开始也是考虑使用dfs&#xff0c;对于矩阵中的每个点&#xff0c;如果能到达边界的O&#xff0c;则跳过继续dfs。否则如果上下左右四个方向都无法到达边界的O&#xff0c;则说明当前的无法到达&#xff0c;在一个set中记录他的行数…

聚焦后成本时代赢销之道 纷享销客2024西北客户大会西安成功举办

纷享销客2024年西北客户大会西安站成功举办&#xff01;此次大会以《后成本时代的赢销之道》为主题&#xff0c;吸引了百余位客户及合作伙伴参会。 纷享销客创始人兼CEO罗旭发表演讲&#xff0c;呼吁一起凝心聚力&#xff0c;共创未来。纷享销客产品副总裁&制造行业中心总…

扫地机器人(蓝桥杯)

文章目录 扫地机器人题目描述解题思路二分贪心 扫地机器人 题目描述 小明公司的办公区有一条长长的走廊&#xff0c;由 N 个方格区域组成&#xff0c;如下图所 示。 走廊内部署了 K 台扫地机器人&#xff0c;其中第 i 台在第 Ai 个方格区域中。已知扫地机器人每分钟可以移动…

Python 自学(九) 之异常处理,文件及目录操作

目录 1. try ... except ... else ... finally 排列 P231 2. write, read, seek, readline, readlines 基本文件操作 P245 3. os模块 基本目录操作 P249 4. os.path 模块 复杂目录操作 P250 5. os 模块 高…

YoloV8改进策略:BackBone改进|GCNet(独家原创)|附结构图

摘要 本文使用GCNet注意力改进YoloV8,在YoloV8的主干中加入GCNet实现涨点。改进方法简单易用&#xff0c;欢迎大家使用&#xff01; 论文:《GCNet: Non-local Networks Meet Squeeze-Excitation Networks and Beyond》 非局部网络&#xff08;NLNet&#xff09;通过为每个查…

郭天祥新概念51单片机(第四期读书笔记)

时钟周期、状态周期、机器周期、指令周期与晶振频率之间的关系 1、晶振频率与脉冲的关系 假设单片机的晶振频率是12MHz&#xff0c;那么它的一个脉冲为1/12微秒&#xff1b;晶振单位时间发出的脉冲则为&#xff1a; 12 ∗ 1 0 6 12*10^6 12∗106。 假设单片机的晶振频率是4MH…

通过IP定位准确地址:原理、应用与局限性

在数字化时代&#xff0c;IP地址不仅是网络设备的标识符&#xff0c;同时也承载着地理位置信息。通过IP定位技术&#xff0c;我们可以根据IP地址获取到相应的地理位置信息&#xff0c;这在网络安全、数据分析、广告推送等领域有着广泛的应用。虎观代理将深入探讨通过IP定位准确…

Oracle EBS AR接口和OM销售订单单价为空数据修复

最近,用户使用客制化Web ADI 批量导入销售订单行功能,把销售订单行的单价更新成空值,直到发运确认以后,财务与客户对帐才发现大量销售订单的单价空,同时我们检查AR接口发现销售订单的单价和金额均为空。 前提条件 采用PAC成本方式具体问题症状 销售订单行的单价为空 Path:…

Spring面试常见问题

目录 1、为什么要用Spring框架&#xff1f;2、有了spring为什么又出现了 springboot&#xff1f;3、springboot出现后为什么又出现了spring cloud&#xff1f;4、SpringBoot自动配置&#xff08;重点&#xff09;5、SpringBoot启动流程&#xff08;重点&#xff09;6、简单谈一…

Latex绘制多行多TSNE列子图

Latex绘制多行多列TSNE子图 问题描述解决办法 问题描述 写论文需要绘制TSNE可视化图像。 解决办法 代码如下 \usepackage{subfigure}\begin{figure*}\centering\small\subfigure[aaa]{\includegraphics[width0.18\textwidth]{Figure/MFPT_v5_train_tsne_user0_bs0.png}}\su…

生态系统服务功能社会价值评估:当量因子法、InVEST、SolVES模型等多技术融合的探索与实践

当量因子法是将生态系统服务功能分类, 以可量化的标准构建不同类型生态系统各种服务功能的价值当量, 结合生态系统的分布面积进行评估,该方法数据量少, 较为直观易用, 适用于区域和全球尺度生态系统服务价值的评估。基于GIS平台的InVEST模型以空间数据为基础&#xff0c;量化多…

gin源码分析(1)--初始化中间件,路由组与路由树

目标 关于gin.Default()&#xff0c;gin.New()&#xff0c;gin.Use()group与子group之间的关系&#xff0c;多group与middleware之间关系中间件的类型&#xff0c;全局&#xff0c;group&#xff0c;get&#xff0c;不同类型的中间件什么时候执行。中间件 next 和abort行为如何…