numpy是一個開源的科學計算庫,它包含了大量的數學和操作數組的功能,而其中,np.argmin函數則是一個非常有用的函數。本文將從多個方面詳細闡述np.argmin函數的用法。
一、返回最小值在數組中的位置
在numpy中,np.argmin函數用於返回最小值在數組中的位置,即返回最小值所在的索引值。最常用的形式為:
np.argmin(a, axis=None, out=None)
其中,a為輸入的數組,axis表示從哪個維度上進行操作,out表示輸出結果。如果輸入的axis為None,則表示在全局操作,即在整個數組中尋找最小值所在的位置。下面是一個簡單的例子:
import numpy as np a = np.array([1, 2, 3, 4, 0]) print(np.argmin(a))
輸出結果為4,即最小值0在數組中的位置是4。這裡需要注意的是,在找到多個最小值的情況下,np.argmin只會返回最先出現的那個最小值的位置。
二、返回最小值所在的位置
除了返回最小值在數組中的位置,我們還可以用np.argmin返回最小值所在的位置,具體方法為:
np.argmin(a, axis=None, out=None, keepdims=False)
其中,keepdims表示是否保留原數組的維度,如果設置為True,則返回的結果還是一個數組,且維度和原數組相同。下面是一個例子:
import numpy as np a = np.array([[1, 2, 3], [4, 0, 6]]) print(np.argmin(a, axis=1, keepdims=True))
在設置了axis=1時,則表示對每一行進行操作,keepdims=True還可以保留原數組的維度,輸出結果為:
[[0] [1]]
結果顯示,最小值分別是1和0,它們所在的位置分別為(0, 0)和(1, 1)。
三、返回複數數組中的最小值位置
當數組中存在複數時,則np.argmin默認情況下只會比較實部,而忽略虛部。如果我們想要同時比較實部和虛部,可以設置一下關鍵字參數:
np.argmin(a, axis=None, out=None, real_only=True)
其中,real_only為False,則表示比較實部和虛部。下面是一個例子:
import numpy as np a = np.array([1+2j, 3+4j, 5+6j]) print(np.argmin(a, real_only=False))
輸出結果為0,即最小值在數組中的位置為0。
四、處理NaN值
在數組中存在NaN值時,我們需要用到np.nanargmin函數來查找最小值所在的位置。與np.argmin類似,這個函數用起來也非常簡單:
np.nanargmin(a, axis=None)
其中,a為需要操作的數組,axis表示操作的維度。下面是一個例子:
import numpy as np a = np.array([1, 2, np.nan, 4, 0]) print(np.nanargmin(a))
輸出結果為4,即最小值在數組中的位置為4。
五、總結
本文詳細闡述了numpy中的np.argmin函數的用法,包括返回最小值在數組中的位置、返回最小值所在的位置、返回複數數組中的最小值位置以及處理NaN值的操作。通過對np.argmin函數的學習和掌握,我們可以更加輕鬆地處理數值計算中的數組操作。
原創文章,作者:PNIA,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/144314.html