numpy中的max和maximum

  numpy科学计算包中有两个函数np.max()和np.maximum(),他们的功能截然不同。简单而言即前者作用于ndarray对象,求的是它自身的最大。而后者是一个数学上的取$max$的效果,它是一个运算。

  先说np.max()

>>>A = np.array([[1,8,3,6,5],[9,2,7,4,5]])
>>>np.max(A)
9
>>>np.max(A, axis=0)
array([9, 8, 7, 6, 5])
>>>np.max(A, axis=1)
array([8, 9])

  效果一目了然。不加axis参数的时候它会返回一个数组所有元素中的最大值。axis=0时它返回了列最大值,axis=1的时候它返回了行最大值。(这个时候它表现的像matlab里的max函数)

  你可能会问,axis=0不是行么?axis=1不是列么?怎么刚好反过来了。这个其实不是这样看的,它的计算方式和numpy看待数组的方式有关。看了我的这篇文章你会豁然开朗https://www.cnblogs.com/chester-cs/p/12682612.html

  再说np.maximum()  

>>>np.maximum(A, 5)
array([[5, 8, 5, 6, 5],
       [9, 5, 7, 5, 5]])
>>>np.maximum(A,10)
array([[10, 10, 10, 10, 10],
       [10, 10, 10, 10, 10]])

  前面已经说了np.maximum()是一个运算,看了上面的例子是不是一下就懂了?

原文地址:https://www.cnblogs.com/chester-cs/p/12933904.html