STS-Scripts/DeskriptiveStatistik/Boxplot.py

42 lines
1.7 KiB
Python

import DeskriptiveStatistik as ds
def obereAntenne_obereAusreisser(werte):
werteSortiert = sorted(werte)
resultat = ["",[]]
maxAntenne = (ds.qquantil(werte, 0.75) + ds.interqurartilsabstand(werteSortiert) * 1.5)
if(max(werteSortiert) > maxAntenne):
for i in range(len(werteSortiert)):
wert = werteSortiert[i]
if(i+1 == len(werteSortiert)):
resultat[1].append(wert)
elif(werteSortiert[i+1] > maxAntenne) and resultat[0] == "":
resultat[0] = wert
elif(werteSortiert[i+1] > maxAntenne):
resultat[1].append(wert)
else:
resultat[0] = max(werteSortiert)
return resultat
def untereAntenne_untereAusreisser(werte):
werteSortiert = sorted(werte, reverse=True)
resultat = ["",[]]
maxAntenne = (ds.qquantil(werte, 0.25) - ds.interqurartilsabstand(werteSortiert) * 1.5)
if(min(werteSortiert) < maxAntenne):
for i in range(len(werteSortiert)):
wert = werteSortiert[i]
if(i+1 == len(werteSortiert)):
resultat[1].append(wert)
elif(werteSortiert[i+1] < maxAntenne) and resultat[0] == "":
resultat[0] = wert
elif(werteSortiert[i+1] < maxAntenne):
resultat[1].append(wert)
else:
resultat[0] = min(werteSortiert)
return resultat
if __name__ == '__main__':
werte = [12, -5, 5, 52, -6, -5, 8, -7, 22, -46, 8, -14, 5, 47]
print("obere Antenne: ", obereAntenne_obereAusreisser(werte)[0])
print("obere Ausreisser: ", obereAntenne_obereAusreisser(werte)[1])
print("untere Antenne: ", untereAntenne_untereAusreisser(werte)[0])
print("untere Ausreisser: ", untereAntenne_untereAusreisser(werte)[1])