簡而言之:有一個similar question,最好的答案建議使用numpy.bincount
。我需要同樣的東西,但對於矩陣。給定矩陣中的指數增量
我有兩個數組:
array([1, 2, 1, 1, 2])
array([2, 1, 1, 1, 1])
他們一起做應該增加指數:
>>> np.array([a, b]).T
array([[1, 2],
[2, 1],
[1, 1],
[1, 1],
[2, 1]])
我想這個矩陣:
array([[0, 0, 0],
[0, 2, 1], # (1,1) twice, (1,2) once
[0, 2, 0]]) # (2,1) twice
矩陣將會很小(如5×5),並且指數的數量會很大(大約在10^3或10^5之間)。
那麼,有沒有比for
-loop更好的(更快)?
太棒了,謝謝! – kirelagin 2013-04-10 09:21:15
+1非常好。 ['np.ravel_multi_index'](http://docs.scipy.org/doc/numpy/reference/generated/numpy.ravel_multi_index.html)可能會派上用場,避免用更復雜的數組思考太多。 – Jaime 2013-04-10 16:13:52
@Jaime:太棒了,謝謝你的指針。我正在尋找'ravel_multi_index'之類的東西,但沒有找到它。 – NPE 2013-04-10 16:14:40