本文共 1682 字,大约阅读时间需要 5 分钟。
一般为二维数组,用来表示行和列的信息:
>>> import numpy as np>>> z = np.array([[1, 2, 3], [4, 5, 6]])>>> z[0] # the first element of z is a 1D arrayarray([1, 2, 3])>>> z[1] # the second element of z is also a 1D arrayarray([4, 5, 6])>>> z[0, 0] # the element at row 0, column 01>>> z[1, 2] # the element at row 1, column 26
这种情况是较为一般(普通)的情况:
>>> 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
>>> np.max(z, axis=1)array([3, 6]) # maximum along each 1D array # parallel to axis 1
在Python环境中运行一下,可以很直观的看出这两个参数的作用:
参数axis=2时属于特殊情况,网上也很少有相关的资料说明,所以特此写篇新博客在这里解释一下。
如果说之前当axis=0或1时,对数组的操作属于二维空间上的操作,那么当axis=2的时候就属于三维空间上的操作了。
可以想象一下,之前的取行或者列的最大值是在x轴和y轴上进行运算,现在又新增加了一个z轴,相当于三维空间坐标系xOyOz。
那么,
>>> 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
>>> np.max(z, axis=1) # maximum along eacharray([[ 8, 9, 10, 11], # 1D array parallel [20, 21, 22, 23]]) # to axis 1
>>> np.max(z, axis=2) # maximum along eacharray([[ 3, 7, 11], # 1D array parallel [15, 19, 23]]) # to axis 2
如图所示:
转载地址:http://urrpi.baihongyu.com/