![]() |
Graficzne zobrazowanie pojęcia mediany |
Mediana jest jednym z trzech kwartyli. Pierwszy kwartyl Q1 dzieli populację na dwie części w proporcjach 25/75, co oznacza, że 25% elementów ma wartość mniejszą lub równą wartości kwartylu pierwszemu, pozostałe zaś 75% elementów ma wartość większą lub równą wartości kwartylu pierwszemu. Drugim kwartylem jest wspomniana na wstępie mediana. Trzeci kwartyl dzieli populację w stosunku 75/25.
Zobaczmy, jak z problemem obliczenia mediany poradzi sobie Python:
def mediana(y):
y.sort()
if len(y)%2 == 0:
Me = (y[int((len(y)/2)-1)]+y[(int(len(y)/2))])/2
else:
Me = y[(int((len(y)+1)/2)-1)]
return Me
Utworzona funkcja działa w dwóch etapach. W pierwszym etapie lista dostarczona do funkcji w postaci zmiennej y jest sortowana w kolejności niemalejącej. Później sprawdzany jest warunek: czy ilość elementów listy - len(y) - podzielona przez 2 jest równa 0. Jeżeli odpowiedź jest twierdząca funkcja oblicza średnią dwóch środkowych wartości. Gdy warunek nie zostanie spełniony, czyli ilość liczb w liście jest nieparzysta, za medianę zostanie przyjęta środkowa wartość zbioru.
Na koniec pełen kod umożliwiający porównanie średniej arytmetycznej z medianą:
a = [21.2, 22.5, 27.1, 25.8, 22.4, 26.7, 22.3, 24.6]
def avg(x):
suma = 0
for i in x:
suma = suma + i
return suma/len(x)
def mediana(y):
y.sort()
if len(y)%2 == 0:
Me = (y[int((len(y)/2)-1)]+y[(int(len(y)/2))])/2
else:
Me = y[(int((len(y)+1)/2)-1)]
return Me
print ("Mediana zbioru: " + str(mediana(a)))
print ("Średnia arytmetyczna wynosi: " + str(avg(a)))
W listę "a" możemy wpisać dowolne liczby pamiętając o zasadzie: części dziesiętne oddziela się kropką natomiast liczby przecinkiem.
Na dziś to już wszystko. Do usłyszenia wkrótce.
Brak komentarzy:
Prześlij komentarz