numpy中方法amin的参数axis取值理解

np.amin(a,axi中s)axis 的意思

  1. 首先不要使用什么横纵轴去理解,因为时间长了就忘记了,而且如果a是一个三维数组就没法解释了。
  2. 如果a是三维数组。假设其shape是(2,3,4)。这个shape理解:2个二维数组,每个二维数组有3个一维数组,每个一维数组有4个元素,有了这个基础,下面就好理解了。
  3. axis等于0时,在shape中表示的是二维数组。那么np.amin(a,0)方法就是求二维数组对应元素的最小值,最终的结果的shape 正好是3个一维数组,一个一维数组是4个元素。(下图中相同颜色的圈圈就是对应位置的元素比较)
    二维数组对应元素比较
  1. 同理axis 等于1时,在shape中表示的是1维数组,那么np.amin(a,1)方法就是求一维数组对应的元素的最小值。由于每个一维数组的元素是4个,有个二维数组,所以最终的shape是(2,4),下图中的黄色框框就是一维数组中对应的元素比较。


    一维数组对应元素比较
  1. 同理axis等于2时,在shape中表示的一维数组中的元素,意思是求每一个一维数组元素中的最小值,而三维数组一个有2个二维数组,每个二维数组有3个一维数组,所以最终过得shape就是(2,3),图片中红色的框框就是一维数组元素的比较。


    一维数组中元素比较
  2. 如果axis=(0,1) 那么就是先使用axis=0求最小值,shape为(3,4),然后在求这个二维数组中一维数组对应元素的最小值,shape为4。

代码如下:

import numpy as np
a = np.random.randint(2,40,size=(2,3,4))
print(a)
print("="*90)
print np.amin(a,0)
print("="*90)
print np.amin(a,1)
print("="*90)
print np.amin(a,2)
print("="*90)
print np.amin(a,(0,2))

你可能感兴趣的:(numpy中方法amin的参数axis取值理解)