为了账号安全,请及时绑定邮箱和手机立即绑定

numpy.newaxis如何工作以及何时使用它?

numpy.newaxis如何工作以及何时使用它?

炎炎设计 2019-11-04 15:40:37
当我尝试numpy.newaxis结果为我提供了一个x轴从0到1 numpy.newaxis的二维绘图框架。但是,当我尝试使用对向量进行切片时,vector[0:4,][ 0.04965172  0.04979645  0.04994022  0.05008303]vector[:, np.newaxis][0:4,][[ 0.04965172][ 0.04979645][ 0.04994022][ 0.05008303]]除了将行向量更改为列向量之外,是否一样?通常,的用途是什么numpy.newaxis,我们应该在什么情况下使用它?
查看完整描述

3 回答

?
Smart猫小萌

TA贡献1911条经验 获得超7个赞

newaxis选择元组中的object对象用于将结果选择的尺寸扩展一个单位长度尺寸。


这不仅仅是行矩阵到列矩阵的转换。


考虑下面的示例:


In [1]:x1 = np.arange(1,10).reshape(3,3)

       print(x1)

Out[1]: array([[1, 2, 3],

               [4, 5, 6],

               [7, 8, 9]])

现在让我们为数据添加新维度,


In [2]:x1_new = x1[:,np.newaxis]

       print(x1_new)

Out[2]:array([[[1, 2, 3]],


              [[4, 5, 6]],


              [[7, 8, 9]]])

您可以newaxis在此处看到添加了额外的维度,x1的维度为(3,3),X1_new的维度为(3,1,3)。


我们的新维度如何使我们能够进行不同的操作:


In [3]:x2 = np.arange(11,20).reshape(3,3)

       print(x2)

Out[3]:array([[11, 12, 13],

              [14, 15, 16],

              [17, 18, 19]]) 

将x1_new和x2相加,我们得到:


In [4]:x1_new+x2

Out[4]:array([[[12, 14, 16],

               [15, 17, 19],

               [18, 20, 22]],


              [[15, 17, 19],

               [18, 20, 22],

               [21, 23, 25]],


              [[18, 20, 22],

               [21, 23, 25],

               [24, 26, 28]]])

因此,newaxis不仅仅是行到列矩阵的转换。它增加了矩阵的维数,从而使我们能够对其进行更多操作。


查看完整回答
反对 回复 2019-11-04
  • 3 回答
  • 0 关注
  • 798 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信