只有當這些元素位於掩碼數組內時,我才需要在numpy數組「標籤」中找到最頻繁的元素。這裏是蠻力的方法:在掩碼數組中找到最頻繁的元素
def getlabel(mask, label):
# get majority label
assert label.shape == mask.shape
tmp = []
for i in range(mask.shape[0]):
for j in range(mask.shape[1]):
if mask[i][j] == True:
tmp.append(label[i][j])
return Counter(tmp).most_common(1)[0][0]
但我不認爲這是最優雅和最快的方法呢。我應該使用哪些其他數據結構? (hasing,字典等...)?
你的數組中有什麼? –