numpy 进行频率计数时跳过0

jaql4c8m  于 2023-01-30  发布在  其他
关注(0)|答案(1)|浏览(143)

这行代码是对我的二维numpy数组的图像进行频率计数。但是我想忽略0,有没有简单的方法跳过它?

freq_count = dict(zip(*np.unique(img_arr.ravel(), return_counts=True)))
for i in freq_count.keys(): 
 # Do something
wydwbb8l

wydwbb8l1#

你可以把0切掉:

freq_count = dict(zip(*np.unique(img_arr[img_arr!=0], return_counts=True)))

但老实说,直接跳过循环中的0或从字典中删除它可能更快、更明确:

freq_count = dict(zip(*np.unique(img_arr, return_counts=True)))

if 0 in freq_count:
    del freq_count[0]

for i in freq_count:
    pass

相关问题