神经网络与深度学习——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,一经查实,立即删除!

相关文章

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…

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

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

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 文件中定义了…

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…

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

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

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

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

arcgis按属性设置符号大小

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

druiddatasource配置_Spring核心配置文件详解

点击蓝字“程序员考拉”欢迎关注&#xff01;1&#xff1a;spring的核心配置文件中的各种配置。 spring的核心配置文件的名字 叫做 applicationContext.xml&#xff0c;后期也可以通过配置文件中的配置修改名称&#xff0c;在web.xml中进行如下配置&#xff1a;<contex…

origin(1)

origin窗口结构与布局 工作表 0.数据导入 0.1直接拖拽 0.2导入 配置相关参数 1.添加新列 1.1方法一 1.2方法二 2.设置x&#xff0c;y&#xff0c;z 2.1设置单列 2.2设置多列 2.3设置无关列 2.4设置误差线 2.5设置为标签 3.长短名称设置 3.1长名称设置 3.1.1方法一 3.1.2方…

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

散点图&#xff08;Scatter&#xff09;&#xff1a; 是数据点在直角坐标系中的分布图 scatter() 函数 marker参数——数据点样式 添加文字——text() 函数 坐标轴设置 增加图例 绘制标准正态分布的散点图步骤 #散点图&#xff08;Scatter&#xff09;&#xff1a;是数据点在直…

十字路口红绿灯plc程序_实例讲解红绿灯PLC程序设计方法

十字路口的交通指挥信号灯布置如下图&#xff1a;一、控制要求&#xff08;1&#xff09;信号灯系统由一个启动开关控制&#xff0c;当启动开关接通时&#xff0c;该信号灯系 统开始工作&#xff0c;当启动开关关断时&#xff0c;所有信号灯都熄灭。&#xff08;2&#xff09;南…

listview刷新_Flutter NestedScrollView 滑动折叠头部下拉刷新效果

题记—— 执剑天涯&#xff0c;从你的点滴积累开始&#xff0c;所及之处&#xff0c;必精益求精。Flutter是谷歌推出的最新的移动开发框架。本实例运行效果如下 &#xff1a;//启动函数void main() { runApp(RootApp());}//根目录class RootApp extends StatelessWidget { ov…

神经网络与深度学习——TensorFlow2.0实战(笔记)(六)(Matplotlib绘图基础<折线图和柱状图>python)

折线图&#xff08;Line Chart&#xff09;&#xff1a; 散点图的基础上&#xff0c;将相邻的点用线段相连接 plot()函数 #折线图&#xff1a;在散点图的基础上将相邻两个点链接 #描述变量变化的趋势 #plot(x,y,color,marker,label,linewidth,markersize) #x数据点的x坐标 #y…

WinCE6.0的EBOOT概要

为一个新的硬件设备定制WinCE6.0操作系统&#xff0c;一般需要完成以下几个主要步骤&#xff1a; 1. 针对特定的硬件设备创建板级支持包(Board Support Package缩写为BSP)&#xff0c;BSP必须包括BOOTLOADER、OEM适配层(OEM Adaptation Layer缩写为OAL)和一些必要的驱动。…

Silverlight HTML5 Flash - RIA技术之三足鼎立

未来&#xff0c;“用户体验”将成为所有软件商业价值的首要衡量标准。拥有极好用户体验的RIA(富互联网应用)技术近些年来发展迅猛&#xff0c;其中以Silverlight、HTML5及Flash最受热捧。纵观&#xff0c;互联网上98%的计算机都有安装Flash&#xff1b;HTML5的新特性则强化了W…

python i开发工具_Python轻量级开发工具Genay使用

Genay是一个轻量级的免费&#xff0c;开放源代码的开发工具&#xff0c;支持很多的文件类型&#xff0c;并且支持很多的插件&#xff0c;启动快速。安装包只有十几兆&#xff0c;相比pycharm专业版需要收费&#xff0c;并且社区版的安装包大小有两百多兆&#xff0c;对于python…