Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Histogram | Flere Statistiske Diagrammer
Quizzes & Challenges
Quizzes
Challenges
/
Ultimat Visualisering med Python

bookHistogram

Note
Definisjon

Histogrammer viser frekvens- eller sannsynlighetsfordelingen til en variabel ved å bruke vertikale søyler med lik bredde, ofte kalt stolper.

Modulen pyplot tilbyr funksjonen hist for å lage histogrammer. Det påkrevde parameteret er dataene (x), som kan være et array eller en sekvens av arrays. Hvis flere arrays sendes inn, vises hver i en forskjellig farge.

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øyde

En Series med årlige temperaturer fra Seattle ble sendt til hist(). Som standard deles dataene inn i 10 like intervaller mellom minimum og maksimum. Kun 9 søyler vises fordi ett intervall ikke inneholder noen verdier.

Søylehøyden viser frekvensen — hvor mange datapunkter som faller innenfor hvert intervall.

Antall søyler

Den valgfrie parameteren bins kan være et heltall (antall søyler), en sekvens av kanter, eller en streng. Vanligvis er det tilstrekkelig å angi antall søyler.

En vanlig regel for å velge antall søyler er Sturges’ formel, basert på utvalgsstørrelsen:

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

hvor n er datasettets størrelse.

Note
Les mer

Du kan utforske flere metoder for søyleberegning 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

Antall rader i DataFrame er 26 (størrelsen på Series), så det resulterende antallet søyler er 5.

Tilnærming av sannsynlighetstetthet

For å tilnærme en sannsynlighetstetthet, sett density=True i hist(). Da blir høyden til hver søyle:

Height=mnw\text{Height} = \frac{m}{n \cdot w}

hvor:

  • ( n ) — totalt antall verdier,
  • ( m ) — antall i søylen,
  • ( w ) — søylebredde.

Dette gjør at det totale arealet av histogrammet blir 1, noe som samsvarer med oppførselen til 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 gir en tilnærming til sannsynlighetstetthetsfunksjonen for temperaturdataene.

Note
Studer mer

Hvis du ønsker å utforske flere av parameterne til hist(), kan du se hist() dokumentasjonen.

Oppgave

Swipe to start coding

Lag en tilnærming av en sannsynlighetstetthetsfunksjon ved å bruke et utvalg fra standard normalfordeling:

  1. Bruk riktig funksjon for å lage et histogram.
  2. Bruk normal_sample som data for histogrammet.
  3. Angi antall søyler som andre argument ved å bruke Sturges' formel.
  4. Gjør histogrammet til en tilnærming av en sannsynlighetstetthetsfunksjon ved å spesifisere det høyre argumentet korrekt.

Løsning

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 4. Kapittel 1
single

single

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

Suggested prompts:

Can you explain how the `density=True` parameter changes the histogram?

What does the resulting histogram tell us about the Seattle temperature data?

How can I compare histograms for Boston and Seattle on the same plot?

close

bookHistogram

Sveip for å vise menyen

Note
Definisjon

Histogrammer viser frekvens- eller sannsynlighetsfordelingen til en variabel ved å bruke vertikale søyler med lik bredde, ofte kalt stolper.

Modulen pyplot tilbyr funksjonen hist for å lage histogrammer. Det påkrevde parameteret er dataene (x), som kan være et array eller en sekvens av arrays. Hvis flere arrays sendes inn, vises hver i en forskjellig farge.

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øyde

En Series med årlige temperaturer fra Seattle ble sendt til hist(). Som standard deles dataene inn i 10 like intervaller mellom minimum og maksimum. Kun 9 søyler vises fordi ett intervall ikke inneholder noen verdier.

Søylehøyden viser frekvensen — hvor mange datapunkter som faller innenfor hvert intervall.

Antall søyler

Den valgfrie parameteren bins kan være et heltall (antall søyler), en sekvens av kanter, eller en streng. Vanligvis er det tilstrekkelig å angi antall søyler.

En vanlig regel for å velge antall søyler er Sturges’ formel, basert på utvalgsstørrelsen:

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

hvor n er datasettets størrelse.

Note
Les mer

Du kan utforske flere metoder for søyleberegning 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

Antall rader i DataFrame er 26 (størrelsen på Series), så det resulterende antallet søyler er 5.

Tilnærming av sannsynlighetstetthet

For å tilnærme en sannsynlighetstetthet, sett density=True i hist(). Da blir høyden til hver søyle:

Height=mnw\text{Height} = \frac{m}{n \cdot w}

hvor:

  • ( n ) — totalt antall verdier,
  • ( m ) — antall i søylen,
  • ( w ) — søylebredde.

Dette gjør at det totale arealet av histogrammet blir 1, noe som samsvarer med oppførselen til 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 gir en tilnærming til sannsynlighetstetthetsfunksjonen for temperaturdataene.

Note
Studer mer

Hvis du ønsker å utforske flere av parameterne til hist(), kan du se hist() dokumentasjonen.

Oppgave

Swipe to start coding

Lag en tilnærming av en sannsynlighetstetthetsfunksjon ved å bruke et utvalg fra standard normalfordeling:

  1. Bruk riktig funksjon for å lage et histogram.
  2. Bruk normal_sample som data for histogrammet.
  3. Angi antall søyler som andre argument ved å bruke Sturges' formel.
  4. Gjør histogrammet til en tilnærming av en sannsynlighetstetthetsfunksjon ved å spesifisere det høyre argumentet korrekt.

Løsning

Switch to desktopBytt til skrivebordet for virkelighetspraksisFortsett der du er med et av alternativene nedenfor
Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 4. Kapittel 1
single

single

some-alt