numpy - 计数相等的数组

and*_*and 5 numpy python-2.7

我想计算分割大矩阵后遇到的等矩阵的数量.

mat1 = np.zeros((4, 8))

split4x4 = np.split(mat1, 4)
Run Code Online (Sandbox Code Playgroud)

现在我想知道split4x4中有多少相等的矩阵,但是collections.Counter(split4x4)会抛出错误.是否有内置的方式在numpy这样做?

Eel*_*orn 1

这可以使用numpy_indexed包以完全矢量化的方式完成(免责声明:我是它的作者):

import numpy_indexed as npi
unique_rows, row_counts = npi.count(mat1)
Run Code Online (Sandbox Code Playgroud)

这应该比使用 collections.Counter 快得多。