关于Python中axis=0/1行列的理解,以及多维情况的处理

二维 axis=0/1

我们在用numpy的函数时,常常要指定axis等于多少,最常见的是要指定axis=0还是1,那么axis=0/1代表什么意思呢?Numpy库有关于轴的解释:轴用来为超过一维的数组定义的属性,二维数据拥有两个轴:第0轴沿着行的垂直往下,第1轴沿着列的方向水平延伸。换句话说,第0轴是纵轴,代表往跨行(down),而第1轴是横轴,代表跨列(across)。我们也可以理解为,axis=0表示从上往下这个方向,axis=1表示从左到右这个方向,如下图所示:

同样地,在用pytorch的函数时,我们常常要指定dim等于多少,其含义和numpy中的axis相同。下面是numpy和PyTorch的一些例子。最后是关于多维数据情况下,如何设置axis值。

np.max()

np.sum()

np.concatenate()

torch.max()

torch.cat()

多维数据时axis的值该设置为多少

其实,更普适的规律是,我想对第i轴(或维)进行操作,我就设置axis=i,这也是处理多维数据时设置axis的思路。例如我想求第二维的最大值:

 

参考资料:

python数据分析里axis=0/1 行列定义为什么每次都不同?

numpy模块之axis

posted @ 2020-03-19 18:06  Picassooo  阅读(1213)  评论(0编辑  收藏  举报