HOWTO · NumPy
在 NumPy 陣列中查詢元素的第一個索引
本教程演示瞭如何在 python 中查詢陣列中元素的索引
本頁內容
在本教程中,我們將討論如何在 numpy 陣列中查詢元素的第一個索引。
使用 where() 函式在 NumPy 陣列中查詢元素的第一個索引
numpy 模組中的 where() 函式用於返回一個陣列,該陣列包含滿足某些條件的元素的索引。條件在函式中指定。
我們可以使用它來查詢陣列中特定值的第一個索引,如下所示。
a = np.array([7, 8, 9, 5, 2, 1, 5, 6, 1])
print(np.where(a == 1)[0][0])
輸出:
5
使用 nonzero() 函式在 NumPy 陣列中查詢元素的第一個索引
nonzero() 函式返回 numpy 陣列中所有非零元素的索引。它為多維陣列返回多個陣列的元組。
與 where() 函式類似,我們也可以指定條件,以便它也可以返回特定元素的位置。
例如,
a = np.array([7, 8, 9, 5, 2, 1, 5, 6, 1])
print(np.nonzero(a == 1)[0][0])
輸出:
5
為了最基本的目的,where() 和 nonzero() 函式看起來很相似。where() 函式的區別在於,當你希望從陣列 a 中選取某些條件為 True 時的元素,以及從陣列 b 中選取該條件為 False 時的元素。
使用 argmax() 函式在 numpy 陣列中查詢元素的第一個索引
argmax() 查詢陣列中最大元素的索引。我們可以在函式中指定相等條件,並找到所需元素的索引。
例如,
a = np.array([7, 8, 9, 5, 2, 1, 5, 6, 1])
print(np.argmax(a == 1))
輸出:
5
使用 index() 函式在 NumPy 陣列中查詢元素的第一個索引
在這種方法中,我們將首先使用 tolist() 函式將陣列轉換為列表。然後,我們將使用 index() 函式,該函式將返回指定元素的位置。
以下程式碼實現了這一點。
a = np.array([7, 8, 9, 5, 2, 1, 5, 6, 1])
print(a.tolist().index(1))
輸出:
5