Функция Harmonic Mean в Python (scipy.stats.hmean
) требует ввода положительных чисел.
Например:
from scipy import stats
print stats.hmean([ -50.2 , 100.5 ])
приводит к:
ValueError: Harmonic mean only defined if all elements greater than zero
Я не математически понимаю, почему это должно быть так, за исключением редкого случая, когда вы закончите деление на ноль. Вместо проверки на деление на ноль, hmean()
затем выдает ошибку при вводе любого положительного числа, независимо от того, можно ли найти гармоническое среднее или нет.
Мне что-то не хватает в математике? Или это действительно ограничение в SciPy
?
Как бы вы хотели найти гармоническое среднее для набора чисел, которое может быть положительным или отрицательным в python?