Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Visualisering af Fordelinger med Histogrammer | Sektion
Datavisualisering med Matplotlib

bookVisualisering af Fordelinger med Histogrammer

Note
Definition

Histogrammer repræsenterer frekvens- eller sandsynlighedsfordelingen af en variabel ved at anvende lodrette søjler af ens bredde, ofte kaldet søjler.

Modulet pyplot tilbyder funktionen hist til at oprette histogrammer. Det påkrævede parameter er dataene (x), som kan være et array eller en sekvens af arrays. Hvis der gives flere arrays, vises hver i en forskellig farve.

12345678910
import pandas as pd import matplotlib.pyplot as plt # Loading the dataset with the average yearly temperatures in Boston and Seattle url = 'https://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 histogram plt.hist(weather_df['Seattle']) plt.show()
copy

Intervaller og Højde

En Series med årlige temperaturer fra Seattle blev sendt til hist(). Som standard deles dataene op i 10 lige store intervaller mellem minimum og maksimum. Kun 9 søjler vises, fordi ét interval ikke indeholder nogen værdier.

Søjlens højde viser frekvensen — hvor mange datapunkter der falder i hvert interval.

Antal Søjler

Den valgfrie bins parameter kan være et heltal (antal søjler), en sekvens af kanter eller en streng. Normalt er det tilstrækkeligt at angive antallet af søjler.

En almindelig regel for valg af antal søjler er Sturges’ formel, baseret på stikprøvestørrelsen:

bins = 1 + int(np.log2(n))

hvor n er datasættets størrelse.

Note
Læs Mere

Du kan udforske yderligere metoder til beregning af søjler her.

12345678910
import pandas as pd import matplotlib.pyplot as plt import numpy as np url = 'https://content-media-cdn.codefinity.com/courses/47339f29-4722-4e72-a0d4-6112c70ff738/weather_data.csv' weather_df = pd.read_csv(url, index_col=0) # Specifying the number of bins plt.hist(weather_df['Seattle'], bins=1 + int(np.log2(len(weather_df)))) plt.show()
copy

Antallet af rækker i DataFrame er 26 (størrelsen på Series), så det resulterende antal intervaller er 5.

Sandsynlighedstætheds-approksimation

For at approksimere en sandsynlighedstæthed, angiv density=True i hist(). Herefter er højden af hvert interval:

Højde=mnw\text{Højde} = \frac{m}{n \cdot w}

hvor:

  • nn — samlet antal værdier;
  • mm — antal i intervallet;
  • ww — intervalbredde.

Dette gør det samlede areal af histogrammet lig med 1, hvilket svarer til opførslen for en PDF.

12345678910
import pandas as pd import matplotlib.pyplot as plt import numpy as np url = 'https://content-media-cdn.codefinity.com/courses/47339f29-4722-4e72-a0d4-6112c70ff738/weather_data.csv' weather_df = pd.read_csv(url, index_col=0) # Making a histogram a probability density function approximation plt.hist(weather_df['Seattle'], bins=1 + int(np.log2(len(weather_df))), density=True) plt.show()
copy

Dette giver en tilnærmelse af sandsynlighedstæthedsfunktionen for temperaturdataene.

Note
Læs Mere

Hvis du ønsker at udforske flere af hist()-parametrene, kan du se hist() dokumentationen.

Opgave

Swipe to start coding

Opret en tilnærmelse af en sandsynlighedstæthedsfunktion ved hjælp af et sample fra standard normalfordelingen:

  1. Brug den korrekte funktion til at oprette et histogram.
  2. Brug normal_sample som data til histogrammet.
  3. Angiv antallet af bins som det andet argument ved hjælp af Sturges' formel.
  4. Gør histogrammet til en tilnærmelse af en sandsynlighedstæthedsfunktion ved korrekt at angive det yderste argument.

Løsning

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 1. Kapitel 15
single

single

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

close

bookVisualisering af Fordelinger med Histogrammer

Stryg for at vise menuen

Note
Definition

Histogrammer repræsenterer frekvens- eller sandsynlighedsfordelingen af en variabel ved at anvende lodrette søjler af ens bredde, ofte kaldet søjler.

Modulet pyplot tilbyder funktionen hist til at oprette histogrammer. Det påkrævede parameter er dataene (x), som kan være et array eller en sekvens af arrays. Hvis der gives flere arrays, vises hver i en forskellig farve.

12345678910
import pandas as pd import matplotlib.pyplot as plt # Loading the dataset with the average yearly temperatures in Boston and Seattle url = 'https://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 histogram plt.hist(weather_df['Seattle']) plt.show()
copy

Intervaller og Højde

En Series med årlige temperaturer fra Seattle blev sendt til hist(). Som standard deles dataene op i 10 lige store intervaller mellem minimum og maksimum. Kun 9 søjler vises, fordi ét interval ikke indeholder nogen værdier.

Søjlens højde viser frekvensen — hvor mange datapunkter der falder i hvert interval.

Antal Søjler

Den valgfrie bins parameter kan være et heltal (antal søjler), en sekvens af kanter eller en streng. Normalt er det tilstrækkeligt at angive antallet af søjler.

En almindelig regel for valg af antal søjler er Sturges’ formel, baseret på stikprøvestørrelsen:

bins = 1 + int(np.log2(n))

hvor n er datasættets størrelse.

Note
Læs Mere

Du kan udforske yderligere metoder til beregning af søjler her.

12345678910
import pandas as pd import matplotlib.pyplot as plt import numpy as np url = 'https://content-media-cdn.codefinity.com/courses/47339f29-4722-4e72-a0d4-6112c70ff738/weather_data.csv' weather_df = pd.read_csv(url, index_col=0) # Specifying the number of bins plt.hist(weather_df['Seattle'], bins=1 + int(np.log2(len(weather_df)))) plt.show()
copy

Antallet af rækker i DataFrame er 26 (størrelsen på Series), så det resulterende antal intervaller er 5.

Sandsynlighedstætheds-approksimation

For at approksimere en sandsynlighedstæthed, angiv density=True i hist(). Herefter er højden af hvert interval:

Højde=mnw\text{Højde} = \frac{m}{n \cdot w}

hvor:

  • nn — samlet antal værdier;
  • mm — antal i intervallet;
  • ww — intervalbredde.

Dette gør det samlede areal af histogrammet lig med 1, hvilket svarer til opførslen for en PDF.

12345678910
import pandas as pd import matplotlib.pyplot as plt import numpy as np url = 'https://content-media-cdn.codefinity.com/courses/47339f29-4722-4e72-a0d4-6112c70ff738/weather_data.csv' weather_df = pd.read_csv(url, index_col=0) # Making a histogram a probability density function approximation plt.hist(weather_df['Seattle'], bins=1 + int(np.log2(len(weather_df))), density=True) plt.show()
copy

Dette giver en tilnærmelse af sandsynlighedstæthedsfunktionen for temperaturdataene.

Note
Læs Mere

Hvis du ønsker at udforske flere af hist()-parametrene, kan du se hist() dokumentationen.

Opgave

Swipe to start coding

Opret en tilnærmelse af en sandsynlighedstæthedsfunktion ved hjælp af et sample fra standard normalfordelingen:

  1. Brug den korrekte funktion til at oprette et histogram.
  2. Brug normal_sample som data til histogrammet.
  3. Angiv antallet af bins som det andet argument ved hjælp af Sturges' formel.
  4. Gør histogrammet til en tilnærmelse af en sandsynlighedstæthedsfunktion ved korrekt at angive det yderste argument.

Løsning

Switch to desktopSkift til skrivebord for at øve i den virkelige verdenFortsæt der, hvor du er, med en af nedenstående muligheder
Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 1. Kapitel 15
single

single

some-alt