Python 之numpy中二维数组与三维数组的切片

 

常见切片类型:

1、首先区分数组类型:在中括号中将m:n看做整体的前提之下,二维数组(中括号中有一个冒号),三维数组(中括号中有两个冒号)

2、需要注意到情况如:通常情况每个维度的操作结束通过逗号分割(n,或m:m,),但如n:或者m:n:表示的是从n或者m:n开始到该维度的最后元素。

3、在进行切片过程中,可以根据逗号判断切片是如何选取元素的,例如三维数组中基本模式是[个数,行数,列数],所以加入b是一个shape=(3,3,4)的三维数组时

,b[1,::]代表了行列全取的情况下,第2个数组(重点是根据逗号索引第一个逗号代表个数,后面::之前无逗号可以整体切片)

 b[:,:, 1]代表了分开取个数、行、列(重点是个数和行之后都有逗号,则分开选取而不是整体切片),分开切片个数,行全选情况下选第二列元素

补充总结:在numpy的数组中,用逗号分隔的是轴的索引,引号表示该轴下的所有元素,比如说如下数组:

a = np.array([[[3,4]], [[1,2]],[[5,7]],[[3,7]],[[1,8]]])a.shape=(5, 1, 2) 表示是三个轴,a[;,0]表示第一个轴的所有元素,和第二个轴的第一个元素(注意:当给出的索引号少于数组中的总索引数,则将已给出的索引数按顺序指派到轴上并默认将未写的索引数提取全部内容),细说就是再详细一点,a的全体内容为:[[[3,4]], [[1,2]],[[5,7]],[[3,7]],[[1,8]]]。去掉第一层方括号,其中有五个元素,每个元素为[[3,4]]这样的,所以第一个索引的范围为[0:5]。

注意:OpenCV函数返回的多维数组和常见的numpy数组的不同之处!(后续跟进补充)
 

 

参考博客: https://blog.csdn.net/zgcr654321/article/details/88015849

                  https://blog.csdn.net/sunny2038/article/details/12889059 

  • 6
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值