找出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中文網其他相關文章!