argmax和argmin函式的使用

2021-09-25 01:41:27 字數 1356 閱讀 8881

argmax(a, axis=none, out=none)

# a 表示array

# axis 表示指定的軸,預設是none,表示把array平鋪,

# out 預設為none,如果指定,那麼返回的結果會插入其中

這個函式返回的是沿軸axis最大值的下標(索引值)。

(1)如果沒有指定axis的值,array就會被平鋪成乙個一維陣列:

a = np.array([[2,5,6],[7,6,1]])

print(np.argmax(a))

a=3,因為陣列平鋪以後變成 [2,5,6,7,6,1] ,其中7是最大值,7的下標(索引值)就是3。

三維陣列的話,先平鋪第一頁,再平鋪第二頁接在第一頁後面,後面的頁依次平鋪接到前一頁後面,同樣的方法找到索引值。

(2)如果axis=0

二維陣列情況:假設是乙個3*2的陣列,則會得到乙個1*2的陣列,每個元素表示沿行方向(y)的最小值的索引值;

假設是乙個2*3的陣列,則會得到乙個1*3的陣列,每個元素表示沿行方向(y)的最小值的索引值;

三維陣列情況:假設是乙個3*2*4的陣列,則會得到乙個2*4的陣列,每個元素表示沿行方向(y)的最小值的索引值;

假設是乙個2*3*4的陣列,則會得到乙個3*4的陣列,每個元素表示沿行方向(y)的最小值的索引值;

* 可以認為是幾個行向量之間對應元素比較大小,取最大值。y方向指的是從上到下。

(3)如果axis=1

二維陣列情況:假設是乙個3*2的陣列,則會得到乙個一維陣列[x1,x2,x3],每個元素表示沿列方向(x)的最小值的索引值;

假設是乙個2*3的陣列,則會得到乙個一維陣列[x1,x2],每個元素表示沿列方向(x)的最小值的索引值;

三維陣列情況:假設是乙個3*2*4的陣列,則會得到乙個3*4的陣列,每個元素表示沿列方向(x)的最小值的索引值;

假設是乙個2*3*4的陣列,則會得到乙個2*4的陣列,每個元素表示沿列方向(x)的最小值的索引值;

* 可以認為是幾個列向量之間對應元素比較大小,取最大值。x方向指的是從左到右。

(4)如果axis=2

三維陣列情況:假設是乙個3*2*4的陣列,則會得到乙個3*2的陣列,每個元素表示沿頁方向(z)的最小值的索引值;

假設是乙個2*3*4的陣列,則會得到乙個2*3的陣列,每個元素表示沿頁方向(z)的最小值的索引值;

* 同理,z方向指的是從前到後;

總之如果矩陣的尺寸是 a*b*c 的,axis=0,1,2表示分別把a,b,c摺疊成1,剩餘兩個維度不變,

分別得到1*b*c,a*1*c,a*b*1的矩陣,就是b*c,a*c,a*b的矩陣。

* 同理可以運用到sum函式的axis。

argmax 函式和argmin 函式

argmax argmin 是numpy模組中的函式 直接舉例說明 import numpy as np y np.array 0.1,0.98 0.69 0.45 0.78 0.99 隨便定義乙個二維陣列 y輸出 array 0.1,0.98 0.69 0.45 0.78 0.99 axis 1,...

numpy裡面的argmax函式

函式原型 def argmax a,axis none,out none a 輸入array axis 為0代表列方向,為1代表行方向 out 結果寫到這個array裡面 1 從簡單的一維開始 import numpy as np a np.array 3,1,2,4,6,1 bb np.argma...

numpy裡面的argmax函式

numpy裡面的argmax函式 函式原型 def argmax a,axis none,out none a 輸入array axis 為0代表列方向,為1代表行方向 out 結果寫到這個array裡面 例子 import numpy as np a np.array 2,4,6,1 1,5,2,...