У меня есть одномерный массив, и я хочу получить среднее значение для всех значений, превышающих определенный порог.В Excel эквивалент будет
= AVERAGEIF(range,">6")
В Python я придумал эту строку, которая прекрасно работает, но мне было интересно, есть ли лучший способ написать это
a = np.array([5.0, 6.0, 7.0, 8.0, 9.0, 0.0, 1.0, 2.0, 3.0, 4.0])
indice = 6
b = sum(i for i in a if i > indice)/sum(a > indice)
print b
>>> 8.0
Если есть какой-нибудь более умный способ сделать это, или использовать какую-нибудь непонятную функцию?
Спасибо