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萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章