np.min np.amin np.minimum

首先说下axis . 直观的理解为当axis = n,时, 在n这个维度观察数据,比如n是列,则取一列,求最小值,然后在其他维度循环这样的操作。或者也可以理解为axis=n, 则原始数据第n维为也就是shape[n] = 1, 其他维不变,axis = m,n,等价于先m,再n 操作,或者理解为m,n维为1 其他维度不变。

np.amin()

当输入是不一定是numpy.array 时,用np.amin, 如果输入是np.array, 可以直接用input.min(axis=n) 来求最小值矩阵


import numpy as np
a = np.random.randint(2,40,size=(2,3,4))
print(a)
print("="*90)
print("np.amin(a,0)",np.amin(a,0))
print("a.min(0)", a.min(0))
print("="*90)
print("np.amin(a,1)",np.amin(a,1))
print("a.min(1)", a.min(1))
print("="*90)
print("np.amin(a,2)",np.amin(a,2))
print("a.min(2)", a.min(2))
print("="*90)
print(np.amin(a,(0,2)))
# min 的axis 只能是int ,print("a.min([0,2])", a.min([0,2]))会报错
#TypeError: 'list' object cannot be interpreted as an integer
 

 

结果

[[[38  3 22 27]
  [32 35 15 36]
  [38 20 28 28]]

 [[ 9  9 18 12]
  [24 29 36 25]
  [31 31  8 30]]]
==========================================================================================
np.amin(a,0) [[ 9  3 18 12]
 [24 29 15 25]
 [31 20  8 28]]
a.min(0) [[ 9  3 18 12]
 [24 29 15 25]
 [31 20  8 28]]
==========================================================================================
np.amin(a,1) [[32  3 15 27]
 [ 9  9  8 12]]
a.min(1) [[32  3 15 27]
 [ 9  9  8 12]]
==========================================================================================
np.amin(a,2) [[ 3 15 20]
 [ 9 24  8]]
a.min(2) [[ 3 15 20]
 [ 9 24  8]]
==========================================================================================
[ 3 15  8]
 

 

可见只要axis 是 int型,那么 np.min 和 np.amin 只有用法不一样。结果是一样的。

======================================================================================

np.minimum 是多个input 进行比较,

input1.shape = input2.shape = output.shape, 只是对应元素位置上区最小值。

 

 

 

 

发布了14 篇原创文章 · 获赞 2 · 访问量 4万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章