python---之np.sum(axis = ?)

我之前一直理解的np.min(axis = 0) 就是求第一维度的和,实际上python做计算的时候,如果计算axis = 0则就是按0维的另一维度的值:

如下所示:

>>>a = np.array(range(0,12))
>>>b = a.reshape((3,4))
>>>b
array([[ 0,  1,  2,  3],
       [ 4,  5,  6,  7],
       [ 8,  9, 10, 11]])
>>> np.max(b)  #max number
11
>>> np.max(b, axis=0)   #看结果是取出最大的一行
array([ 8,  9, 10, 11])
>>> np.max(b, axis=1) #看结果是取出最大的一列
array([ 3,  7, 11])

下面我们把数据改一下,看看是这个结果是怎么出来的,是每一行去最大的数,还是取每一行求和最大的数
>>> b = np.array([[0, 10, 30, 3],
              [4, 5, 6, 7],
              [8, 9, 10, 11]])
>>> np.max(b, axis=0)
array([ 8, 10, 30, 11])
>>> np.max(b, axis=1)
array([30,  7, 11])
#事实上:结果是每一行取出最大的那一个数(axis=1),每一列取出最大的数(axis=0)

np.sum也是如此:

>>> a=[[1,1,1,1],[2,2,2,2],[3,3,3,3]] 
>>> import numpy as np
>>> a =  np.array(a)
>>> a
array([[1, 1, 1, 1],
       [2, 2, 2, 2],
       [3, 3, 3, 3]])
>>> np.sum(a, axis=0)  #往x轴上投影
array([6, 6, 6, 6])
>>> np.sum(a, axis=1) ##往y轴上投影
array([ 4,  8, 12])

转载:https://blog.csdn.net/zjm750617105/article/details/53378452

你可能感兴趣的:(python学习笔记)