浅谈numpy数组中冒号和负号的含义
在实际使用numpy时,我们常常会使用numpy数组的-1维度和”:”用以调用numpy数组中的元素。也经常因为数组的维度而感到困惑。
总体来说,”:”用以表示当前维度的所有子模块
“-1”用以表示当前维度所有子模块最后一个,”负号用以表示从后往前数的元素”
测试代码
import numpy as np b = np.arange(start=0, stop=24, dtype=int) print('b.shape', b.shape) # b.shape (24,) b1 = b.reshape((4, 2, 3)) print('the value of b1\n', b1) # the value of b1 # [[[ 0 1 2] # [ 3 4 5]] # # [[ 6 7 8] # [ 9 10 11]] # # [[12 13 14] # [15 16 17]] # # [[18 19 20] # [21 22 23]]] print('b1[-1]\n', b1[-1]) # 从最外层的维度分解出最后一个模块 # b1[-1] # [[18 19 20] # [21 22 23]] for a in b1[-1]: print('s') # 在这个模块中有两个小的模块,所以程序运行两次 # s # s print('b1[:-1]\n', b1[:-1]) # 从最外层的模块中分解出除最后一个子模块后其余的模块 # b1[:-1] # [[[ 0 1 2] # [ 3 4 5]] # # [[ 6 7 8] # [ 9 10 11]] # # [[12 13 14] # [15 16 17]]] for a1 in b1[:-1]: print('s') # 在这个模块中有三个小的模块,所以程序运行两次 # s # s # s print('b1[-1:]\n', b1[-1:]) # 写在最后一个维度的":"没有实质性作用,此处表示的意思和b1[-1]相同 # b1[-1:] # [[[18 19 20] # [21 22 23]]] print('b1[:,-1]\n', b1[:, -1]) # 表示取出最外层的所有维度后每一个子模块中选择最后一个子模块 # b1[:,-1] # [[ 3 4 5] # [ 9 10 11] # [15 16 17] # [21 22 23]] print('b1[:,:,-1]\n', b1[:, :, -1]) # 表示取最里层维度的最后一个元素重新组成新的元组 # b1[:,:,-1] # [[ 2 5] # [ 8 11] # [14 17] # [20 23]]
以上这篇浅谈numpy数组中冒号和负号的含义就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
您可能感兴趣的文章:
- 对python numpy数组中冒号的使用方法详解
相关推荐
-
对python numpy数组中冒号的使用方法详解
python中冒号实际上有两个意思:1.默认全部选择:2. 指定范围. 下面看例子 定义数组 X=array([[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16],[17,18,19,20]]) 输出为5x4二维数组 第一种意思,默认全部选择: 如,X[:,0]就是取矩阵X的所有行的第0列的元素,X[:,1] 就是取所有行的第1列的元素 第二种意思,指定范围,注意这里含左不含右 如,X[:, m:n]即取矩阵X的所有行中的的第m到n-1列数据,含左不含右
-
浅谈numpy数组中冒号和负号的含义
在实际使用numpy时,我们常常会使用numpy数组的-1维度和":"用以调用numpy数组中的元素.也经常因为数组的维度而感到困惑. 总体来说,":"用以表示当前维度的所有子模块 "-1"用以表示当前维度所有子模块最后一个,"负号用以表示从后往前数的元素" 测试代码 import numpy as np b = np.arange(start=0, stop=24, dtype=int) print('b.shape', b
-
浅谈numpy数组的几种排序方式
简单介绍 NumPy系统是Python的一种开源的数组计算扩展.这种工具可用来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结构要高效的多(该结构也可以用来表示矩阵(matrix)). 创建数组 创建1维数组: data = np.array([1,3,4,8]) 查看数组维度 data.shape 查看数组类型 data.dtype 通过索引获取或修改数组元素 data[1] 获取元素 data[1] = 'a' 修改元素 创建二维数组 data
-
浅谈numpy 函数里面的axis参数的含义
前言 numpy支持对矩阵和数组进行运算,因此很多numpy的很多运算都需要指定操作的维数参数axis(当然这些axis都有带默认值的),本博客以numpy.sum求和函数为例,具体分析axis参数不同取值下的含义. 先说结论 设 numpy.sum的输入矩阵为a. numpy.sum的返回矩阵为rst. 则矩阵a的形状为:sp=numpy.shape(a),例如sp=[m,n,p,q···] rst的形状为将sp的第axis个元素设为1,即: sp'=sp sp'[axis]=1 numpy.
-
浅谈Spring AOP中args()和argNames的含义
args()的作用主要有两点: 1.切入点表达式部分如果增加了args()部分,那么目标方法除了要满足execution部分,还要满足args()对方法参数的要求,对于符合execution表达式,但不符合args参数的方法,不会被植入切面. 2.定义了args()之后,才能把目标方法的参数传入到切面方法的参数中(通过Joinpoint也可以获取参数,但当前方法是直接用切面方法参数接受). 示例1 目标方法: @RestController @RequestMapping("/testAop&q
-
浅谈numpy中函数resize与reshape,ravel与flatten的区别
这两组函数中区别很是类似,都是一个不改变之前的数组,一个改变数组本身 resize和reshape >>> import numpy as np >>> a = np.arange(20).reshape(4,5) >>> a array([[ 0, 1, 2, 3, 4], [ 5, 6, 7, 8, 9], [10, 11, 12, 13, 14], [15, 16, 17, 18, 19]]) >>> a.reshape(2,1
-
浅谈numpy中np.array()与np.asarray的区别以及.tolist
array和asarray都可以将结构数据转化为ndarray,但是主要区别就是当数据源是ndarray时,array仍然会copy出一个副本,占用新的内存,但asarray不会. 1.输入为列表时 a=[[1,2,3],[4,5,6],[7,8,9]] b=np.array(a) c=np.asarray(a) a[2]=1 print(a) print(b) print(c) 从中我们可以看出np.array与np.asarray功能是一样的,都是将输入转为矩阵格式.当输入是列表的时候,更改
-
浅谈numpy中linspace的用法 (等差数列创建函数)
linspace 函数 是创建等差数列的函数, 最好是在 Matlab 语言中见到这个函数的,近期在学习Python 中的 Numpy, 发现也有这个函数,以下给出自己在学习过程中的一些总结. (1)指定起始点 和 结束点. 默认 等差数列个数为 50. (2)指定等差数列个数 (3)如果数列的元素个数指定, 可以设置 结束点 状态. endpoint : bool, optional If True, stop is the last sample. Otherwise, it is not
-
浅谈numpy生成数组的零值问题
今天在用numpy写sinc函数时偶然发现在x=0时函数居然能取到1,觉得很不可思议,按理来说在x=0时函数无意义,研究了一下,发现竟然时numpy在生成数组时自动用一个很小的数代替了0. In[2]: import numpy as np In[3]: np.arange(-1, 1, 0.1) Out[3]: array([ -1.00000000e+00, -9.00000000e-01, -8.00000000e-01, -7.00000000e-01, -6.00000000e-01,
-
浅谈C/C++中指针和数组的不同
这边先简单介绍一下内存分区. 内存按照用途划分为五个区: 1.栈区:由系统控制分配和回收. 例如定义变量 int x = 0; int *p = NULL; 变量所占的内存都是分配在栈区的. 2.堆区:由程序员管理. 在C语言中由 malloc 申请的内存,或者在C++中,用 new 申请的内存,是在堆区中申请的.用完之后需要程序员自己回收,否则会造成内存泄漏. 3.全局区:存储全局变量及静态变量 4.常量区:存储常量. 5.代码区:存储编译之后的二进制代码. 数组和指针具有很大的相似性,实际上
随机推荐
- 可以把编码转换成 gb2312编码lib.UTF8toGB2312.js
- AngularJS过滤器filter用法分析
- 鼠标放在图片上显示大图的JS代码
- 在cmd中直接运行PowerShell脚本文件的方法
- jquery(1.3.2) 高亮选中图片边框
- xcode 详解创建静态库和动态库的方法
- 深入解析Java接口(interface)的使用
- JavaScript使用FileSystemObject对象写入文本文件内容的方法
- thinkphp特殊标签用法概述
- PHP显示今天、今月、上月、今年的起点/终点时间戳的代码
- CI框架中通过hook的方式实现简单的权限控制
- python在linux中输出带颜色的文字的方法
- 浅析python递归函数和河内塔问题
- javascript中常见的3种信息提示框(alert,prompt,confirm)
- 解析一个通过添加本地分区索引提高SQL性能的案例
- 使用nodejs下载风景壁纸
- Android根据电话号码获得联系人头像实例代码
- PHP判断浏览器、判断语言代码分享
- 从汇编看c++函数的默认参数的使用说明
- Android 使用【AIDL】调用外部服务的解决方法
其他
- java swing餐厅点餐系统运行出现套餐添加失败2
- Pythonfor循环实现九九乘法表分析过程
- vue返回上一页,如何把接口的最新数据替换掉以前的数据
- logging和logger区别
- java扫雷游戏心得
- go 钉钉机器人告警
- vant-UI库修改样式无效
- 微信小程序商品跳转页面
- vue 文字自动滚动效果
- python读取csv文件,并定义为x和y坐标轴
- SQLite数据库 易语言
- jpa projection转换
- okhttp超时无效
- pdf彩色转灰度代码
- mybatis主键返回实体注解方式
- uniapp自动刷微信token
- 身份证文字 python
- selenium判断是否找到元素
- python透明frame
- java OkHttpClient文件上传并设置编码