首頁 >後端開發 >Python教學 >如何在 NumPy 陣列中尋找多個值的行索引?

如何在 NumPy 陣列中尋找多個值的行索引?

Barbara Streisand
Barbara Streisand原創
2024-12-07 06:16:13188瀏覽

How to Find Row Indices of Multiple Values in a NumPy Array?

找出Numpy 陣列中多個值的行索引

問題:

我們給🎜>問題:

我們給定一個NumPy 數組X 和一組值searched_values。目標是確定 X 中與 searched_values 中的每個值相對應的行索引。

例如,對於以下輸入數組:

所需的輸出應該是:

方法#1:NumPy廣播

此方法利用NumPy 廣播在X 與每行searched_values之間執行逐元素比較:

方法#2:使用np 進行內存高效轉換.in1d

為了節省內存,我們可以轉換每一行將X 和searched_values 轉換為線性索引等價物,然後套用np.in1d進行交集:

方法#3:使用np.searchsorted

另一種記憶體高效轉換使用np.searchsorted 的記憶體高效方法和線性索引的相同原理轉換:

理解np.ravel_multi_index

np.ravel_multi_index 將 X 的每一行轉換為唯一的線性索引等價物。它對 n 維索引的 2D 數組以及這些索引要映射到的 n 維網格的形狀進行操作。 例如,在我們的範例中,X 的每一行代表一個索引元組對於尺寸變暗的 2D 網格。 np.ravel_multi_index 將每個元組映射到唯一的線性索引。

以上是如何在 NumPy 陣列中尋找多個值的行索引?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn