Boxplot
Boxplot is een ander uiterst gebruikelijke grafiek in de statistiek die wordt gebruikt om de centrale tendens, spreiding en mogelijke uitschieters binnen de data te visualiseren via hun kwartielen.
Kwartielen
Kwartielen verdelen de datapunten (gesorteerd in oplopende volgorde) in vier gelijke delen. Er zijn er drie:
Het eerste kwartiel (Q1) is het middelste getal tussen de kleinste waarde (getal) van de steekproef en de mediaan (25% van de data ligt in dit bereik);
Het tweede kwartiel (Q2) is de mediaan zelf (50% van de data ligt onder de mediaan);
Het derde kwartiel (Q3) is het middelste getal tussen de mediaan van de steekproef en de hoogste waarden van de steekproef (75% van de data ligt onder Q3).
Elementen van een boxplot
De rechterkant van de rode rechthoek geeft het derde kwartiel weer en de linkerkant geeft het eerste kwartiel weer;
Q3 - Q1 wordt het interkwartielafstand (IQR) genoemd, wat wordt weergegeven door de rechthoek waarbij de gele lijn de mediaan is;
De zwarte lijnen buiten de rechthoek worden snorharen genoemd. De linker geeft weer, en de rechter geeft weer;
De datapunten die buiten de snorharen vallen, worden uitbijters genoemd.
De volgende stap is het genereren van een boxplot met behulp van de matplotlib
-bibliotheek:
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()
Boxplotgegevens
De functie boxplot()
uit de module pyplot
wordt gebruikt met de eerste en enige verplichte parameter x
, die de gegevens vertegenwoordigt. Deze gegevens kunnen een array-achtig object zijn (bijvoorbeeld een Series
), een 2D-array (er wordt een boxplot getekend voor elke kolom), of een reeks van 1D-arrays (er wordt een boxplot getekend voor elke array).
Optionele parameters
De parameter tick_labels
is een uitzondering. Deze is met name handig, niet alleen om een enkele boxplot te labelen, maar ook om de boxplots te labelen wanneer er meer dan één array is:
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()
In dit voorbeeld is de volledige DataFrame
met twee kolommen doorgegeven aan boxplot()
, wat resulteert in afzonderlijke boxplots voor elke kolom met automatisch toegewezen labels.
Er zijn ook behoorlijk wat optionele parameters voor het aanpassen van de boxplot, die je kunt verkennen in de boxplot()
documentatie, maar in de praktijk zul je deze zelden gebruiken.
Swipe to start coding
Maak twee boxplots met behulp van twee steekproeven uit de standaardnormale verdeling:
- Gebruik de juiste functie om de boxplots te maken.
- Gebruik de lijst van
normal_sample_1
ennormal_sample_2
(in deze volgorde van links naar rechts) als de data. - Label de linker boxplot als
First sample
en de rechter alsSecond sample
met behulp van delist
.
Oplossing
Bedankt voor je feedback!