numpy.max中参数axis的取值问题

np.max(a, axis=None, out=None, keepdims=False)

  • 求序列的最值
  • 最少接收一个参数
  • axis:默认为列方向,即axis=0

一般为二维数组,用来表示行和列的信息:

>>> import numpy as np
>>> z = np.array([[1, 2, 3], [4, 5, 6]])
>>> z[0]     # the first element of z is a 1D array
array([1, 2, 3])

>>> z[1]     # the second element of z is also a 1D array
array([4, 5, 6])

>>> z[0, 0]  # the element at row 0, column 0
1

>>> z[1, 2]  # the element at row 1, column 2
6

 

1.当axis=0和axis=1时

这种情况是较为一般(普通)的情况:

  • 当axis=0时表示取每一列的最大值:
>>> import numpy as np
>>> z = np.array([[1, 2, 3], [4, 5, 6]])  # array pictured above
>>> np.max(z, axis=0)
array([4, 5, 6])        # maximum along each 1D array
                        # parallel to axis 0
  • 当axis=1时表示取每一行的最大值:
>>> np.max(z, axis=1)
array([3, 6])           # maximum along each 1D array
                        # parallel to axis 1

在Python环境中运行一下,可以很直观的看出这两个参数的作用:

 

2.当axis=2时(特殊情况)

参数axis=2时属于特殊情况,网上也很少有相关的资料说明,所以特此写篇新博客在这里解释一下。

如果说之前当axis=0或1时,对数组的操作属于二维空间上的操作,那么当axis=2的时候就属于三维空间上的操作了。

可以想象一下,之前的取行或者列的最大值是在x轴和y轴上进行运算,现在又新增加了一个z轴,相当于三维空间坐标系xOyOz。

那么,

  • 当axis=0的时候表示取上下两维的最大值:
>>> z = np.arange(24).reshape(2,3,4)   # array pictured above
>>> np.max(z, axis=0)
array([[12, 13, 14, 15],               # maximum along each
       [16, 17, 18, 19],               # 1D array parallel
       [20, 21, 22, 23]])              # to axis 0
  • 当axis=1的时候表示取上下两维列的最大值:
>>> np.max(z, axis=1)                  # maximum along each
array([[ 8,  9, 10, 11],               # 1D array parallel
       [20, 21, 22, 23]])              # to axis 1
  • 当axis=2的时候表示取上下两维行的最大值:
>>> np.max(z, axis=2)                  # maximum along each
array([[ 3,  7, 11],                   # 1D array parallel
       [15, 19, 23]])                  # to axis 2

如图所示:

  • 34
    点赞
  • 83
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值