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,...