我有一個二維陣列,我想知道,對于每個“行”,與每行的第一個值不同的第一個值的索引是什么。
這是一個例子:
arr = np.array([[0, 0, 1, 1, 1],
[2, 2, 2, 3, 3],
[9, nan, nan, 8, 8],
[5, 5, 5, 5, 0]])
我正在尋找的解決方案將產生:
array([2, 3, 1, 4])
因為在第一行中,第一個不同于 0 的值是第 3 個,在第二行中,第一個不同于 2 的值是第 4 個,依此類推。
謝謝你的幫助 !
uj5u.com熱心網友回復:
只需將陣列中的所有值與第一列進行比較,然后提取第一個真值的索引。
(arr != arr[:,0][:, None]).argmax(1)
Out[]: array([2, 3, 1, 4], dtype=int64)
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/410481.html
標籤:
