2016-11-25 77 views
2

假設我有這樣發現並拿到鑰匙

a = np.array([[0, 0, 0, 1373, 1371, 1365, 1371, 1375], 
     [0, 0, 0, 1388, 1371, 1365, 1301, 1302]]) 

我必須找到所有值對的numpy的(比較IDX 0 == 1)。 例如:

pairs = (a[0] == a[1]) 
# [ True True True False True True False False] 

,但現在,我想有IDX的作爲的結果,而不比較零個值。 例如:

[4, 5] 

這是一個例子,在我來說,我有100k左右的數據點。我想找到一種有效的方法。

+0

你會如何形成的對?在您的實際使用情況中,「a」的形狀是什麼? – Divakar

+0

在實際情況下,我收到LIDAR數據。每行有不同的角度(LIDAR傳感器從0度到50度擺動)。每行有360個數據點(距離測量)。在這種情況下,我比較0.1-> 0.2度(row1 - > row2)。在下面的答案中,我發現了碰撞。障礙。 要回答你的問題:產地:'np.zeros((LEN(**接收的數據**),360),D類= np.int)'的每一行... –

+0

你在做這些比較/之間的第一操作只有兩排?如果不是,你如何做其他行的比較,並考慮增加一些更具代表性的樣本? – Divakar

回答

2
In [14]: result = [r[0] for r in np.argwhere(a[0,:] == a[1,:]) if a[0, r] != 0] 

In [15]: result 
Out[15]: [4, 5] 
+0

是的,這個作品!謝謝! –