numpy.unique
有一个可选参数return_counts
。从文档中可以看到:
return_counts bool, 可选项 如果为True,则返回每个独特项目在ar中出现的次数。
版本1.9.0中新增。
对于一维数组很容易理解。但是,我正在尝试获取矩阵每行的唯一值和计数。以下是一个样例矩阵:
m_sample = np.array([
[1, 2, 1],
[2, 2, 2],
[3, 3, 3],
[1, 4, 5],
])
当我使用np.unique时:
np.unique(m_sample, axis=1, return_counts=True)
(array([[1, 1, 2],
[2, 2, 2],
[3, 3, 3],
[1, 5, 4]]), array([1, 1, 1]))
我并不确定这里返回的矩阵代表什么,更不用说计数数组了。这可能是numpy中的一个bug(或者是开发者没有考虑到的情况)吗?我是否误解了如何在这种情况下使用参数?
axis=0
,则会得到以下结果:(array([[1, 2, 1], [1, 4, 5], [2, 2, 2], [3, 3, 3]]), array([1, 1, 1, 1]))
这也是无意义的,并且计数数组的维度也是错误的。 - Daniel Kats