Histogram
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 nødvendige parameteret er dataene (x), som kan være en matrise eller en sekvens av matriser. Hvis flere matriser sendes inn, vises hver i en forskjellig farge.
12345678910import 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()
Intervaller og høyde
Et Series-objekt som inneholder gjennomsnittlige årstemperaturer i Seattle ble sendt til funksjonen hist(). Som standard deles dataene inn i 10 like store intervaller fra minimums- til maksimumsverdien. Imidlertid er kun 9 søyler synlige fordi det andre intervallet ikke inneholder noen datapunkter.
Høyden på hver søyle tilsvarer som standard frekvensen av verdiene i dette intervallet (antall ganger de forekommer).
Antall søyler
En annen viktig, men valgfri parameter er bins, som enten tar antall søyler (heltall), en sekvens av tall som angir grensene for søylene, eller en streng. Som oftest er det tilstrekkelig å angi antall søyler.
Det finnes flere metoder for å bestemme bredden på histogram-søyler. I dette eksempelet bruker vi Sturges' formel, som beregner det optimale antallet søyler basert på utvalgsstørrelsen:
Her er n størrelsen på data-arrayet.
Du kan utforske flere metoder for beregning av intervaller her.
12345678910import 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()
Antall rader i DataFrame er 26 (størrelsen på Series), så det resulterende antallet intervaller er 5.
Tilnærming av sannsynlighetstetthet
For å vise en tilnærming av sannsynlighetstettheten, sett parameteren density til True i funksjonen hist.
Nå beregnes høyden til hver søyle slik:
Height=n×wmhvor:
- n – totalt antall verdier i datasettet;
- m – antall verdier i søylen;
- w – bredden på søylen.
Dette sikrer at det totale arealet under histogrammet er 1, noe som samsvarer med hovedegenskapen til en sannsynlighetstetthetsfunksjon (PDF).
12345678910import 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()
Dette gir en tilnærming av sannsynlighetstetthetsfunksjonen for temperaturdataene.
Hvis du ønsker å utforske flere av parameterne til hist(), kan du se hist() dokumentasjonen.
Swipe to start coding
Lag en tilnærming av en sannsynlighetstetthetsfunksjon ved å bruke et utvalg fra standard normalfordeling:
- Bruk riktig funksjon for å lage et histogram.
- Bruk
normal_samplesom data for histogrammet. - Angi antall søyler som andre argument ved å bruke Sturges' formel.
- Gjør histogrammet til en tilnærming av en sannsynlighetstetthetsfunksjon ved å angi riktig verdi for det siste argumentet.
Løsning
Takk for tilbakemeldingene dine!
single
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår
Awesome!
Completion rate improved to 3.85
Histogram
Sveip for å vise menyen
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 nødvendige parameteret er dataene (x), som kan være en matrise eller en sekvens av matriser. Hvis flere matriser sendes inn, vises hver i en forskjellig farge.
12345678910import 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()
Intervaller og høyde
Et Series-objekt som inneholder gjennomsnittlige årstemperaturer i Seattle ble sendt til funksjonen hist(). Som standard deles dataene inn i 10 like store intervaller fra minimums- til maksimumsverdien. Imidlertid er kun 9 søyler synlige fordi det andre intervallet ikke inneholder noen datapunkter.
Høyden på hver søyle tilsvarer som standard frekvensen av verdiene i dette intervallet (antall ganger de forekommer).
Antall søyler
En annen viktig, men valgfri parameter er bins, som enten tar antall søyler (heltall), en sekvens av tall som angir grensene for søylene, eller en streng. Som oftest er det tilstrekkelig å angi antall søyler.
Det finnes flere metoder for å bestemme bredden på histogram-søyler. I dette eksempelet bruker vi Sturges' formel, som beregner det optimale antallet søyler basert på utvalgsstørrelsen:
Her er n størrelsen på data-arrayet.
Du kan utforske flere metoder for beregning av intervaller her.
12345678910import 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()
Antall rader i DataFrame er 26 (størrelsen på Series), så det resulterende antallet intervaller er 5.
Tilnærming av sannsynlighetstetthet
For å vise en tilnærming av sannsynlighetstettheten, sett parameteren density til True i funksjonen hist.
Nå beregnes høyden til hver søyle slik:
Height=n×wmhvor:
- n – totalt antall verdier i datasettet;
- m – antall verdier i søylen;
- w – bredden på søylen.
Dette sikrer at det totale arealet under histogrammet er 1, noe som samsvarer med hovedegenskapen til en sannsynlighetstetthetsfunksjon (PDF).
12345678910import 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()
Dette gir en tilnærming av sannsynlighetstetthetsfunksjonen for temperaturdataene.
Hvis du ønsker å utforske flere av parameterne til hist(), kan du se hist() dokumentasjonen.
Swipe to start coding
Lag en tilnærming av en sannsynlighetstetthetsfunksjon ved å bruke et utvalg fra standard normalfordeling:
- Bruk riktig funksjon for å lage et histogram.
- Bruk
normal_samplesom data for histogrammet. - Angi antall søyler som andre argument ved å bruke Sturges' formel.
- Gjør histogrammet til en tilnærming av en sannsynlighetstetthetsfunksjon ved å angi riktig verdi for det siste argumentet.
Løsning
Takk for tilbakemeldingene dine!
single