我有一个二维数组,并希望得到的所有唯一的数字的出现列。
下面是一个例子:
import numpy as np
a = np.array([[2,2,3,3],
[2,3,3,3],
[3,3,4,4]])
字符串
结果应该是
[[2,1,0,0],
[1,2,2,2],
[0,0,1,1]])
型
例如,第一行是每列中出现的数字2
,0表示2
不在第三和第四列中。第二行是数字3
的出现,而最后一行是数字4
。简单地说,我想得到每个排序的唯一值的每列计数。
我尝试了np.unique(a, return_counts=True, axis=0)
,但得到了错误的结果:
(array([[2, 2, 3, 3],
[2, 3, 3, 3],
[3, 3, 4, 4]]),
array([1, 1, 1]))
型
1条答案
按热度按时间w7t8yxp51#
您可以在数组上使用np.unique来获得整个矩阵中的非重复值列表。然后将唯一值与广播中的原始矩阵进行比较,并对匹配进行求和:
字符串