np.newaxis作用详解---超简单理解方式,通透

本文解析了np.newaxis在numpy中的作用,它如何在切片操作中添加新的维度,并通过实例和代码演示了其在改变数组形状时的技巧。重点讲解了newaxis的本质——其实是None,以及如何配合数组操作使用。

一、起始

np.newaxis的作用就是在这一位置增加一个一维,这一位置指的是np.newaxis所在的位置,举个例子如下。

x1 = np.array([1, 2, 3, 4, 5])
# the shape of x1 is (5,)
x1_new = x1[:, np.newaxis]
# now, the shape of x1_new is (5, 1)
# array([[1],
#        [2],
#        [3],
#        [4],
#        [5]])
x1_new = x1[np.newaxis,:]
# now, the shape of x1_new is (1, 5)
# array([[1, 2, 3, 4, 5]])

二、newaxis本质

是不是还是不理解?没关系,上面例子先放一放,继续往下看:

>> type(np.newaxis)
NoneType
>> np.newaxis == None
True

从这里可知,其实np.newaxis就是None,

>> x = np.arange(3)
>> x
array([0, 1, 2])
>> x.shape
(3,)

>> x[:, np.newaxis]
array([[0],
       [1],
       [2]])

>> x[:, None]
array([[0],
       [1],
       [2]])

>> x[:, np.newaxis].shape
 (3, 1)

三、综合理解

大家观察下上面使用newaxis的时机,都是配合切片[]使用的
不难观察到,对于x[:,np.newaxis]来说,若没有np.newaxis,则原式=x[:],就是把x中的元素全部取出返回一个视图而已,在一维数组中,x没有第二个轴,而加上np.newaxis后的x[:,np.newaxis]就是加了一个None,就是在x中的一维轴中的元素上加了一个轴,因此
x=[1,2,3]时,对1加轴得[1],对2得[2],对3得[3]
x=[[1],[2],[3]], 对[1]加轴得[[1]]。。。。。。x[:np.newaxis]=[[[1],[[2]],[[3]]]

参考:
https://www.jianshu.com/p/78e1e281f698
https://www.cnblogs.com/onemorepoint/p/8110523.html

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

THMAIL

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值