python中numpy.zeros(dem.shape[:2])[:, :, numpy.newaxis]

最近在看选择性搜索的代码,python一些常用函数用法没有掌握好,导致理解困难,所以看懂一个做一个笔记,方便之后查看
前一篇文章介绍了dem.shape的含义
类似地,对于一个图像来说dem.shape[:2]输出的是图像的长宽,但是后面增加新维度的操作我又看不懂了,通过查看输出并比较一下代码,帮助我理解了这个操作

dem = numpy.array([[[ 0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.],
   [ 0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.],
   [ 0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.]],
   [[ 0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.],
   [ 0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.],
   [ 0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.]]])
print(numpy.zeros(dem.shape[:2]))
print(numpy.zeros(dem.shape[:2])[:, :, numpy.newaxis])
print(numpy.zeros(dem.shape[:2])[:, numpy.newaxis,: ])
print(numpy.zeros(dem.shape[:2])[numpy.newaxis,:, : ])

输出结果为

[[ 0.  0.  0.]
 [ 0.  0.  0.]]

[[[ 0.]
  [ 0.]
  [ 0.]]

 [[ 0.]
  [ 0.]
  [ 0.]]]

[[[ 0.  0.  0.]]

 [[ 0.  0.  0.]]]

[[[ 0.  0.  0.]
  [ 0.  0.  0.]]]

可以看出,第一个操作是在多维数组的最内层增加一个维度,第二个操作是在多维数组的从内到外的第二层增加一个维度,第三个操作是在多维数组的从内到外的第三层增加一个维度

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值