简要地说:存在类似的问题,最佳答案建议使用numpy.bincount。我需要同样的东西,但需要一个矩阵。
我有两个数组:
array([1, 2, 1, 1, 2])
array([2, 1, 1, 1, 1])
Run Code Online (Sandbox Code Playgroud)
它们共同构成应增加的索引:
>>> np.array([a, b]).T
array([[1, 2],
[2, 1],
[1, 1],
[1, 1],
[2, 1]])
Run Code Online (Sandbox Code Playgroud)
我想得到这个矩阵:
array([[0, 0, 0],
[0, 2, 1], # (1,1) twice, (1,2) once
[0, 2, 0]]) # (2,1) twice
Run Code Online (Sandbox Code Playgroud)
矩阵将很小(例如5×5),索引的数量将很大(大约10 ^ 3或10 ^ 5)。
那么,有什么比for-loop 更好(更快)的东西吗?