m = np.array([[[1,2],[2,1]], [[1,1],[2,1]]])
array([[[1, 2],
[2, 1]],
[[1, 1],
[2, 1]]])
m2 = np.array([[[0.4,0.5],[0.2,0.3]], [[0.3,0.4],[0.5,0.5]]])
array([[[ 0.4, 0.5],
[ 0.2, 0.3]],
[[ 0.3, 0.4],
[ 0.5, 0.5]]])
Как рассчитать среднее значение m2
для каждого уникального элемента m
? Я мог написать понимание списка, чтобы пройтись по элементам m
, но мне было интересно, есть ли более простой способ сделать это. Подходит ли np.ma.masked_array
в этом случае?
Это то, чего я пытаюсь достичь
1: np.mean(m2[m==1])
2: np.mean(m2[m==2])
это хорошо для пары элементов, но если у меня есть 100, то это становится громоздким. Я мог бы написать понимание списка, но надеялся на лучшую альтернативу.