Boksplot
Box plot er en anden yderst almindelig graf i statistik, der bruges til at visualisere den centrale tendens, spredning og potentielle outliers i dataene via deres kvartiler.
Kvartiler
Kvartiler opdeler datapunkterne (sorteret i stigende rækkefølge) i fire lige store dele. Der er tre af dem:
Første kvartil (Q1) er tallet midt imellem den mindste værdi (tal) i stikprøven og medianen (25% af dataene ligger i dette interval);
Anden kvartil (Q2) er selve medianen (50% af dataene ligger under medianen);
Tredje kvartil (Q3) er tallet midt imellem medianen af stikprøven og de højeste værdier i stikprøven (75% af dataene ligger under Q3).
Elementer i boksplot
Højre side af den røde rektangel repræsenterer tredje kvartil, og venstre side repræsenterer første kvartil;
Q3 - Q1 kaldes interkvartilområdet (IQR), som er repræsenteret af rektanglet, hvor den gule linje er medianen;
De sorte linjer uden for rektanglet kaldes whiskers. Den venstre repræsenterer , og den højre repræsenterer ;
Datapunkterne uden for whiskers kaldes outliers.
Næste trin er at generere et boksplot ved hjælp af matplotlib
-biblioteket:
import pandas as pd import matplotlib.pyplot as plt # Loading the dataset with the average yearly temperatures in Boston and Seattle url = 'https://staging-content-media-cdn.codefinity.com/courses/47339f29-4722-4e72-a0d4-6112c70ff738/weather_data.csv' weather_df = pd.read_csv(url, index_col=0) # Creating a box plot for the Seattle temperatures plt.boxplot(weather_df['Seattle']) plt.show()
Box Plot Data
Funktionen boxplot()
fra modulet pyplot
anvendes med den første og eneste påkrævede parameter x
, som repræsenterer dataene. Disse data kan være et array-lignende objekt (f.eks. en Series
), et 2D-array (et box plot tegnes for hver kolonne), eller en sekvens af 1D-arrays (et box plot tegnes for hvert array).
Valgfrie parametre
Parameteren tick_labels
er en undtagelse. Denne er især nyttig ikke kun til at navngive et enkelt box plot, men også til at navngive box plots, når der er mere end ét array:
import pandas as pd import matplotlib.pyplot as plt # Loading the dataset with the average yearly temperatures in Boston and Seattle url = 'https://staging-content-media-cdn.codefinity.com/courses/47339f29-4722-4e72-a0d4-6112c70ff738/weather_data.csv' weather_df = pd.read_csv(url, index_col=0) # Creating two box plots for Boston and Seattle temperatures plt.boxplot(weather_df, tick_labels=['Boston', 'Seattle']) plt.show()
I dette eksempel blev hele DataFrame
med to kolonner givet til boxplot()
, hvilket resulterede i separate boksplot for hver kolonne med passende etiketter automatisk tildelt.
Der findes også en del valgfrie parametre til at tilpasse boksplottet, som du kan udforske i boxplot()
dokumentationen, men i praksis vil du sjældent bruge dem.
Swipe to start coding
Opret to boksplot ved hjælp af to stikprøver fra standard normalfordelingen:
- Brug den korrekte funktion til at oprette boksplottene.
- Brug listen
normal_sample_1
ognormal_sample_2
(i denne rækkefølge fra venstre mod højre) som data. - Mærk det venstre boksplot som
First sample
og det højre somSecond sample
ved hjælp aflist
.
Løsning
Tak for dine kommentarer!