python计算数组中每个数字出现次数,python count the occurrence of digist in an array
在进行图像处理的时候,我们经常会碰到 array 格式的数据,因为图像至少是二位数组。最近,我在看别人代码的时候,为了判断某个数组是否是二值图像的时候,我经常想要看变量中是否只存在 0 和 1 两种元素,所以上网找了比较好的实现方法,分享给大家。
1 In [1]: import numpy as np 2 3 In [2]: a=np.arange(1, 13).reshape(3, 4) 4 5 In [3]: a 6 Out[3]: 7 array([[ 1, 2, 3, 4], 8 [ 5, 6, 7, 8], 9 [ 9, 10, 11, 12]]) 10 11 In [4]: a[1,:]=100 12 13 In [5]: a 14 Out[5]: 15 array([[ 1, 2, 3, 4], 16 [100, 100, 100, 100], 17 [ 9, 10, 11, 12]]) 18 19 In [6]: unique, counts = np.unique(a, return_counts=True) 20 21 In [7]: b=dict(zip(unique, counts)) 22 23 In [8]: b 24 Out[8]: {1: 1, 2: 1, 3: 1, 4: 1, 9: 1, 10: 1, 11: 1, 12: 1, 100: 4}