Funkcja Średnia harmoniczna w python (scipy.stats.hmean
) wymaga, aby dane wejściowe były liczbami dodatnimi.średnia harmoniczna w pytonie
Na przykład:
from scipy import stats
print stats.hmean([ -50.2 , 100.5 ])
skutkuje:
ValueError: Harmonic mean only defined if all elements greater than zero
nie matematycznie, dlaczego powinno to być przypadek, z wyjątkiem rzadkich przypadkach, gdzie byś skończyć dzielenie przez zero . Zamiast sprawdzania dzielenia przez zero, hmean()
wyrzuca błąd po wprowadzeniu dowolnej liczby dodatniej, niezależnie od tego, czy można znaleźć średnią harmoniczną.
Czy brakuje mi tu czegoś w matematyce? Czy to naprawdę jest ograniczenie w SciPy
?
Jak byś poszła o znalezieniu średniej harmonicznej zbioru liczb, które mogą być dodatnie lub ujemne w pytonie?
"Nie rozumiem matematycznie, dlaczego tak powinno być ...", więc masz zasadniczo pytanie matematyczne, a nie pytanie programistyczne. –
.. i pytanie matematyczne, na które wyraźnie udzielono odpowiedzi, ponieważ średnia harmoniczna ma znaczenie tylko dla liczb dodatnich. –