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])