np.newaxis作用详解---超简单理解方式,通透
一、起始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]
·
一、起始
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
更多推荐
已为社区贡献15条内容
所有评论(0)