np.newaxis知识点整理

做kaggle比赛时,看到有方法中用到np.newaxis,现将知识点整理如下。

>>import numpy as np
>>type(np.newaxis)
NoneType
>>np.newaxis == None
True

可以发现np.newaxi等价于 None。1

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

 从上面可以看出,通过np.newaxis可以将一维数组变为列向量的形式。(ps.这里(3,)只是表示一维数组,并不是列向量)

>>y = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
>>y[:, 1]
array([2, 5, 8])
>>y[:, 1].shape
(3,)

可以看出y[:, 1]返回的是一维数组,如果我们希望某一列返回的仍然是列的结构,需要进行如下操作,

>>y[:, 1][:, np.newaxis]
array([[2],
       [5],
       [8]])

如果想实现第一列和第三列的拼接,

>>y_sub = np.hstack([y[:, 0][:, np.newaxis], y[:, 2][:, np.newaxis]])
>>y_sub
array([[1, 3],
       [4, 6],
       [7, 9]])

也可以通过切片的方式,

>> 
array([[1, 3],
       [4, 6],
       [7, 9]])

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值