Jak obliczyć średnią obciętą w pythonie (z przykładami)
Średnia obcięta to średnia ze zbioru danych, która została obliczona po usunięciu określonego procentu najmniejszych i największych wartości w zbiorze danych.
Najłatwiejszym sposobem obliczenia średniej obciętej w Pythonie jest użycie funkcji trim_mean() z biblioteki SciPy.
Ta funkcja wykorzystuje następującą podstawową składnię:
from scipy import stats #calculate 10% trimmed mean stats. trim_mean (data, 0.1 )
Poniższe przykłady pokazują, jak w praktyce wykorzystać tę funkcję do obliczenia średniej obciętej.
Przykład 1: Oblicz średnią obciętą tabeli
Poniższy kod pokazuje, jak obliczyć 10% średnią obciętą dla tabeli danych:
from scipy import stats #define data data = [22, 25, 29, 11, 14, 18, 13, 13, 17, 11, 8, 8, 7, 12, 15, 6, 8, 7, 9, 12] #calculate 10% trimmed mean stats. trim_mean (data, 0.1 ) 12,375
10% średnia obcięta wynosi 12,375 .
Jest to średnia ze zbioru danych po usunięciu ze zbioru najmniejszych 10% i największych 10% wartości.
Przykład 2: Oblicz średnią obciętą kolumny w Pandach
Poniższy kod pokazuje, jak obliczyć 5% średnią obciętą dla określonej kolumny w ramce DataFrame pandy:
from scipy import stats import pandas as pd #define DataFrame df = pd. DataFrame ({' points ': [25, 12, 15, 14, 19, 23, 25, 29], ' assists ': [5, 7, 7, 9, 12, 9, 9, 4], ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]}) #calculate 5% trimmed mean of points stats. trim_mean (df. points , 0.05 ) 20.25
5% średnia obcięta wartości w kolumnie „punkty” wynosi 20,25 .
Jest to średnia z kolumny „punkty” po odjęciu 5% najmniejszych i 5% największych wartości.
Przykład 3: Oblicz średnią obciętą wielu kolumn
Poniższy kod pokazuje, jak obliczyć 5% średnią obciętą dla wielu kolumn w ramce DataFrame pandy:
from scipy import stats import pandas as pd #define DataFrame df = pd. DataFrame ({' points ': [25, 12, 15, 14, 19, 23, 25, 29], ' assists ': [5, 7, 7, 9, 12, 9, 9, 4], ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]}) #calculate 5% trimmed mean of 'points' and 'assists' columns stats. trim_mean (df[[' points ', ' assists ']], 0.05 ) array([20.25, 7.75])
Z wyniku możemy zobaczyć:
- 5% średnia obcięta w kolumnie „punkty” wynosi 20,25 .
- 5% średnia obcięta w kolumnie „asysty” wynosi 7,75 .
Uwaga : Pełną dokumentację funkcji trim_mean() można znaleźć tutaj .
Dodatkowe zasoby
Jak ręcznie obliczyć średnią obciętą
Kalkulator średniej obciętej