简而言之:有一个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