神经网络与深度学习——TensorFlow2.0实战(笔记)(五)(NumPy科学计算库<2>python)

数组元素的切片

一维数组

#一维数组
#切片方法和Python序列数据结构的切片一样
a=np.array([0,1,2,3,4],dtype=np.int64)#占用新的内存
#不包括结束位置
print(a[0:3])
print(a[:3])
print(a[0:])

二维数组

#二维数组
a=np.array([[0,1,2,3,4],[5,6,7,8,9],[10,11,12,13,14]],dtype=np.int64)
print(a[0:2])
print(a[:2])
print(a[0:])
print(a[0:2,0:2])
print(a[:,0])

三维数组

a=np.array([[[0,31,2,23,4],[5,56,76,8,79],[10,11,12,13,14]],[[15,16,17,18,19],[10,11,12,13,14],[15,16,17,18,19]],[[0,1,2,3,4],[5,86,87,88,9],[10,11,12,13,14]],[[90,1,92,3,94],[5,6,7,8,9],[10,11,12,13,14]]],dtype=np.int64)
print("原始数据:\n",a)
print(" ")
print(a[0:2])
print(" ")
print(a[:2])
print(" ")
print(a[0:])
print(" ")
print(a[0:2,0:2])
print(" ")
print(a[:,0])
print(" ")
print(a[:,:,0])
原始数据:[[[ 0 31  2 23  4][ 5 56 76  8 79][10 11 12 13 14]][[15 16 17 18 19][10 11 12 13 14][15 16 17 18 19]][[ 0  1  2  3  4][ 5 86 87 88  9][10 11 12 13 14]][[90  1 92  3 94][ 5  6  7  8  9][10 11 12 13 14]]][[[ 0 31  2 23  4][ 5 56 76  8 79][10 11 12 13 14]][[15 16 17 18 19][10 11 12 13 14][15 16 17 18 19]]][[[ 0 31  2 23  4][ 5 56 76  8 79][10 11 12 13 14]][[15 16 17 18 19][10 11 12 13 14][15 16 17 18 19]]][[[ 0 31  2 23  4][ 5 56 76  8 79][10 11 12 13 14]][[15 16 17 18 19][10 11 12 13 14][15 16 17 18 19]][[ 0  1  2  3  4][ 5 86 87 88  9][10 11 12 13 14]][[90  1 92  3 94][ 5  6  7  8  9][10 11 12 13 14]]][[[ 0 31  2 23  4][ 5 56 76  8 79]][[15 16 17 18 19][10 11 12 13 14]]][[ 0 31  2 23  4][15 16 17 18 19][ 0  1  2  3  4][90  1 92  3 94]][[ 0  5 10][15 10 15][ 0  5 10][90  5 10]]

改变数组的形状

#当改变形状时,应该考虑到数组中元素的个数,确保改变前后,元素总个数相等。
b=np.arange(12)
print(b)
c=b.reshape((-1,1))#不改变当前数组,按照shape创建新的数组 -1自动计算出这个维度的取值
print(b)
print(c)
d=b.reshape((3,4))
print(d)
b.resize((3,4))#改变当前数组,按照shape创建数组
print(b)
e=np.arange(16).reshape(4,4)
print(e)
f=np.arange(16).reshape(2,4,2)
print(f)

数组间的运算

a = np.array([0,1,2,3,4])
b = np.array([5,6,7,8,9])
c = np.array([[5,6,7,8,9],[0,1,2,3,4]])
# #数组加法,数组间对应元素相加,元素形状长度相同
print(a+b)
#1维和2维可以相加(1维与二维每行相加)
print(a+c)
# #幂运算:对每个数组中的元素求n次方
print(a**2)
# #矩阵运算:矩阵对应元素相乘
print(a*b)
print(a*c)

函数

import numpy as np
a = np.array([0,-1,2,3,4])
a1 = np.array([0,1,2,3,4])
b = np.array([5,6,7,-8,9])
c = np.array([[5,-6,7,8,9],[0,-1,2,3,-4]])
print(np.sum(c)) #计算所有元素的和
print(np.prod(b)) #计算所有元素的乘积
print(np.diff(a)) #计算数组的相邻元素之间的差
print(np.sqrt(a1)) #计算各元素的平方根
print(np.exp(a)) #计算各元素的指数值
print(np.abs(a)) #取各元素的绝对值

按行求和&按列求和

轴(axes):数组中的每一个维度被称为一个轴

秩(rank):轴的个数

二维

b=np.arange(12).reshape(3,4)
print(b)
print("列\n",np.sum(b,axis=0))
print("行\n",np.sum(b,axis=1))

可以理解为

axis=0时结果是4个数

axis=1时结果是3个数

三维

b=np.arange(24).reshape(2,3,4)
print(b)
print(" axis=0\n",np.sum(b,axis=0))
print(" axis=1\n",np.sum(b,axis=1))
print(" axis=2\n",np.sum(b,axis=2))

可以理解为

axis=0时结果是[3,4]的数组(3行4列)

axis=1时结果是[2,4]的数组(2行4列)

axis=2时结果是[2,3]的数组(2行3列)

数组堆叠运算

一维

a = np.array([0,1,2,3,4])
b = np.array([5,6,7,8,9])
#数组堆叠
# np.stack( (数组1, 数组2,...) , axis)
print(np.stack((a,b),axis=0))
print(np.stack((a,b),axis=1))

二维

c = np.array([[5,6,7,8,9],[0,1,92,3,4]])
d = np.array([[5,6,7,8,9],[0,1,2,3,10]])
print(np.stack((c,d),axis=0))
print(np.stack((c,d),axis=1))
print(np.stack((c,d),axis=2))

矩阵运算

矩阵乘法

矩阵相乘:按照矩阵相乘的规则运算

a = np.array([[1,1],[0,1]])
b = np.array([[2,0],[3,4]])
c = np.array([[5,6,7,8,9],[0,1,2,3,4]])
#矩阵相乘,按照矩阵相乘的规则运算
print("矩阵相乘\n",np.matmul(a,b))
print("矩阵相乘\n",np.dot(a,b))
#矩阵转置
print("矩阵转置\n",np.transpose(a))
#矩阵求逆
print("矩阵求逆\n",np.linalg.inv(a))

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

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

相关文章

基于三值图像的车牌识别测试程序发布

基于三值图像的车牌识别测试程序正式发布,初始版本是0.9.0。由于还有匹配模板没有完全导入,因此,识别精度还低。但是,目的是演示识别过程。其意义是,1、基于彩色图像直接进行三值化(即彩色二值化&#xff0…

LDR 、ADR介绍

请教: (1)LDR R1, 0x12345678 ;加载 32 位立即数 LDR R1,0x12345678 有什么不相同啊? 一般在什么情况下用 LDR R1, 0x12345678 ? 在什么情况下用 LDR R1,0x12345678 ? (2&#x…

c语言二进制数怎么表示_搞懂这些公式和原理,二级C语言对你来说肯定会简单很多!...

基本概念:机器数:在计算机中,一个数有二进制表示的数原码:第一位是符号位,其他位表示数值:0:正数,1:负数反码:正数-->原码,负数-->符号位不…

详细js读取execl内容并展示

作者execl内容展示 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"> <!-- <script type"text/java…

[转载]细说Java反射

原文地址&#xff1a;细说Java反射作者&#xff1a;简单爱一、反射的概念 &#xff1a; 反射的概念是由Smith在1982年首次提出的&#xff0c;主要是指程序可以访问、检测和修改它本身状态或行为的一种能力。这一概念的提出很快引发了计算机科学领域关于应用反射性的研究。它首先…

python棋盘最短路径_Python数据结构与算法之图的最短路径(Dijkstra算法)完整实例...

本文实例讲述了Python数据结构与算法之图的最短路径(Dijkstra算法)。分享给大家供大家参考&#xff0c;具体如下&#xff1a; # coding:utf-8 # Dijkstra算法——通过边实现松弛 # 指定一个点到其他各顶点的路径——单源最短路径 # 初始化图参数 G {1:{1:0, 2:1, 3:12}, 2:{2:…

嵌入式经典面试题

C语言测试是招聘嵌入式系统程序员过程中必须而且有效的方法。这些年&#xff0c;我既参加也组织了许多这种测试&#xff0c;在这过程中我意识到这些测试能为面试者和被面试者提供许多有用信息&#xff0c;此外&#xff0c;撇开面试的压力不谈&#xff0c;这种测试也是相当有趣的…

js将百度坐标转为wgs84

作者execl示例 读取并转换结果如下 <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"> <!-- <scrip…

Jetty 服务器架构分析(中)

接上一篇&#xff0c;说到XmlConfiguration ,XmlConfiguration 利用自己实现的 IOC 组装 Server 的全过程如下图所示&#xff1a; 这里可以看到 3 个关键的配置文件&#xff0c; jetty.xml 、 jetty-deploy.xml 、以及 contexts/xxx.xml l Jetty.xml 文件中定义了…

python去掉列表中的单引号_Python:如何从列表项中删除单引号(Python: How to remove single quotes from list item)...

I’m working on a bit of python code to run a query against a redshift (postgres) SQL database, and I’m running into an issue where I can’t strip off the surrounding single quotes from a variable I’m passing to the query. I’m trying to drop a number of…

VxWorks嵌入式操作系统的TrueFFS文件系统驱动开发

嵌入式系统对执行速度和系统可靠性的要求&#xff0c;决定了嵌入式系统需要一种安全、快速的存储设备&#xff0c;这种设备备同时还需要体积小、容量大、掉电数据不丢失等特点。而Flash存储器恰恰能够满足上述要求。这也使得Flash存储器成为嵌入式系统中的主要存储设备。 现…

神经网络与深度学习——TensorFlow2.0实战(笔记)(五)(NumPy科学计算库<矩阵和随机数>python)

矩阵和随机数 矩阵 创建矩阵 #创建矩阵 astring np.mat("1 2 3; 4 5 6") alist [[1,2,3],[4,5,6]] anplist np.array(alist) print(np.matrix(astring))#字符串、列表、元组、数组 print(np.mat(astring))#字符串、列表、元组、数组 print(np.mat(alist)) prin…

python爬虫抓取文本_Python实现可获取网易页面所有文本信息的网易网络爬虫功能示例...

本文实例讲述了Python实现可获取网易页面所有文本信息的网易网络爬虫功能。分享给大家供大家参考&#xff0c;具体如下&#xff1a; #codingutf-8 #--------------------------------------- # 程序&#xff1a;网易爬虫 # 作者&#xff1a;ewang # 日期&#xff1a;2016-7-6 #…

DOC学习之TrueFFS

TrueFFS原理 引用TrueFFS原理及其在CF卡上的实现的部分内容 “1、Wear-Leveling 闪速存储器不能无限次重复使用。它的每个扇区的擦除次数虽然很大&#xff0c;但却有限&#xff1b;因此&#xff0c;随着使用次数的加长&#xff0c;它最终会变成只读状态&#xff0c;所以应该尽…

安装 sql server 2005 com+ 目录要求警告 解决方案

用法&#xff1a; 创建记事本&#xff0c;然后改后缀名为.bat echo off setlocal echo %WINDIR%\System32\msdtc.exe -uninstall %WINDIR%\System32\msdtc.exe -uninstall call :delkey "HKCR\CID" call :delkey "HKLM\SYSTEM\CurrentControlSet\Serv…

神经网络与深度学习——TensorFlow2.0实战(笔记)(五)(Matplotlib绘图基础<1>python)

数据可视化 数据分析阶段&#xff1a;理解和洞察数据之间的关系 算法调试阶段&#xff1a;发现问题&#xff0c;优化算法 项目总结阶段&#xff1a;展示项目成果 Matplotlib&#xff1a; 第三方库&#xff0c;可以快速方便地生成高质量的图表 安装Matplotlib库 Figure 对…

Linux 定时器设置

函数alarm设置的定时器只能精确到秒&#xff0c;而以下函数理论上可以精确到微妙&#xff1a; #include <sys/select.h> #include <sys/time.h> int getitimer(int which, struct itimerval*value); int setitimer(int which, const structitimerval *value, s…

idea lombok不生效_Spring Boot 集成 Lombok 让代码更简洁!

点击上方“Java之间”&#xff0c;选择“置顶或者星标”你关注的就是我关心的&#xff01;作者&#xff1a;Anoyi lombok的威力简化代码IntelliJ IDEA安装lombok插件1、菜单栏 File > Settings > Plugins > Browse repositories…安装插件2、搜索 Lombok Plugin 安装后…

IT人转型做技术型销售到底行不行

想想自己已经做了八年的销售了&#xff0c;说不上很成功自己也算满意&#xff0c;多多少少有一些相关的经验。如果有刚刚入行或者即将入行的朋友愿意从一个过来人的视角着手去对这个行当多一些了解&#xff0c;我乐于慢慢码字出来与大家分享。 对很多职业来说&#xff0c;足够的…

arcgis按属性设置符号大小

一般都在高级设置里&#xff0c;以下是两个示例 1.相同颜色&#xff0c;不同大小 2不同颜色&#xff0c;不同大小