关于np.newaxis的一点心得

1.np.newaxis的意思是为数组多加一个轴,但是这个轴加在哪里呢?

import numpy as np
a = np.array([
             [[10,11,12],
              [13,14,15],
              [16,17,18]],
             [[19,20,21],
              [22,23,24],
              [25,26,27]]
                        ])
b=a[:,:,:,np.newaxis]
c=a[:,:,np.newaxis,:]
d=a[:,np.newaxis,:,:]
e=a[np.newaxis,:,:,:]
f=a[np.newaxis]

print(a.shape)   # (2, 3, 3)
print(b.shape)  # (2, 3, 3, 1)
print(c.shape)  # (2, 3, 1, 3)
print(d.shape) # (2, 1, 3, 3)
print(e.shape) # (1, 2, 3, 3)

print(f.shape)  # (1, 2, 3, 3)
可以从上述结果看到a本身的shape是(2,3,3),正好对应着a[0:2,0:3,0:3]。如果在第二个3的后面加上np.newwaxis,即a[0:2,0:3,0:3,np.newaxis],那么维度就会变为(2,3,3,1),也即b= a[0:2,0:3,0:3,0:1],同理可得其他部分的维度输出。
注意,如果写成f这种形式,那么就默认是插入了最前面。
 


2.其实感觉比较常用的应该是第一种,就是b=a[:,:,:,np.newaxis],然后要得到相同的结果其实也可以写成:b=a.reshape([2,3,3,-1])
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值