Tidsseriedata i pandaer

I denne opplæringen lærer du hvordan du prøver å prøve tidsseriedata ved å bruke Pandas. Du kan se hele videoen av denne opplæringen nederst på denne bloggen .

Hva er denne ideen med resampling? Dette er relatert til tidsseriedata, og det vi skal gjøre er å endre frekvensen som dataene rapporteres med. For eksempel endring av årlig verdi til månedlig eller ukentlig, eller endring av timedata til daglig. Kort sagt, vi endrer nivået i hierarkiet.

Dette kan brukes av en rekke årsaker, for eksempel å få mer pålitelige trender , utvalgsstørrelser og sesongvariasjoner . I noen rapporter vil det være mer fornuftig om vi bruker et nivå av hierarkiet kontra et annet.

I tillegg kan resampling hjelpe hvis du har forskjellige datakilder og du må utføre sammenføyning av tidsseriedata. Dette vil også hjelpe når du håndterer en mismatch i .

Tidsseriedata i pandaer

For å bryte dette ytterligere ned har vi nedsampling og oppsampling.

Nedsampling er å redusere rapporteringsfrekvensen . Det kan være ting som å konvertere fra et sekund til en time for å få færre verdier eller nedsampling måned til kvartal.

På den annen side er oppsampling for å øke rapporteringsfrekvensen fra månedsnivå og ned til dagen . Vi vil ha flere eksempler på dette senere.

Tidsseriedata i pandaer

Innholdsfortegnelse

Slik gjensampler tidsseriedata ved hjelp av pandaer

Hvordan skal vi gjøre dette i Pandas?

Først av alt vil vi endre . Deretter kan vi oppsample ved hjelp av interpolering, som vil fylle ut verdiene, og vi kan nedsample for å rulle opp ved å aggregere verdiene.

Tidsseriedata i pandaer

La oss gå over til Jupyter Notebook Python og sjekke dette med Pandas.

Til å begynne med vil vi bruke Pandas ved å skrive inn import pandas som pd , etterfulgt av import seaborn som sns for å visualisere det, og importere matplotlib.pyplot som plt for å tilpasse .

Den neste tingen å gjøre er å hente dataene fra vega_datasets importdata . Det er et fint sted å få prøvekilder. Vi skal også få sp = data.sp500 ( ) og sp.head ( ) bibliotek .

Tidsseriedata i pandaer

Her er dataene våre så langt. Vi har daglig avkastning og pris for hver dag.

Tidsseriedata i pandaer

For å sette indeksen til dato-kolonnen, skriv inn sp.set_index(['date'], inplace=True) og ring deretter sp.head igjen.

Tidsseriedata i pandaer

Bruke oppsampling for å få verdier

Så, for å ha flere verdier, la oss bruke oppsampling. Siden vi har dataene for hver dag, kan vi gå ned til timen ved å bruke den enkleste funksjonen som er sp [['pris']]. resample ('H').ffill ( ) , og kjør det. H står for time, M for måned, D for dagen, og så videre. Du kan lære mer om dette i Pandas-dokumentasjonen .

Som vi kan se, 1. januar ved midnatt, er prisen 1394,46, det samme som de påfølgende timene fra 01:00 til 04:00. Et annet eksempel er 2. januar, hvor sluttkursen er 1366,42.

Tidsseriedata i pandaer

Det finnes andre måter å gjøre dette på selv om verdien ikke er tilgjengelig på timenivå. Det er også mer sofistikerte måter enn bare å gjøre en foroverfylling . For eksempelet vårt, det vi gjorde er den grunnleggende måten å gjøre oppsamplingsinterpolering på.

Deretter går vi til nedsampling ved å skrive inn avg_month = sp [['price]].resample ('M').mean ( ) , deretter avg_month.head ( ) og kjøre den for å sjekke.

Som illustrert kan vi se siste dag i hver måned og gjennomsnittsprisen. Vi kan redusere prøvene for å ha færre verdier, eller det vi kaller nedbemanning.

Tidsseriedata i pandaer

For å visualisere dette, la oss skrive om plotte dimensjonene som er tegnet. Deretter, etterfulgt av sns.lineplot . Linjeplottet fungerer bedre med en lengre X-akse, mens Y-verdien er gjennomsnittlig månedspris.

For å se gjennomsnittsprisen for måneden plottet, la oss kjøre dette.

Tidsseriedata i pandaer

Igjen, det er mange forskjellige måter vi kan gjøre dette på. For eksempel, hvis vi vil vite den laveste prisen per kvartal, er alt vi trenger å gjøre å skrive inn quarter_low og deretter quarter_low.head for å kjøre den.

Så der kan vi nå se den kvartalsvis laveste verdien funnet i hvert kvartal. Slik gjør du en ny prøve.

Tidsseriedata i pandaer




Konklusjon

For å avslutte det, er Pandas virkelig bygget for resampling og tidsseriedata . Hvis du jobber med tidsseriedata og har forskjellige granulariteter, kan resampling være svært nyttig.

Sørg i tillegg for å lese Pandas-dokumentasjonen om resample-metoden for å lære mange forskjellige måter å gjøre dette på. Vi så på de grunnleggende, men du kan gjøre ting som annenhver uke, siste arbeidsdag i måneden og flere alternativer for ny prøvetaking.

Beste ønsker,

George Mount


LuckyTemplates egendefinerte ikoner | PBI visualiseringsteknikk

LuckyTemplates egendefinerte ikoner | PBI visualiseringsteknikk

Jeg vil diskutere en av mine favorittteknikker rundt LuckyTemplates egendefinerte ikoner, som bruker egendefinerte ikoner på en dynamisk måte i LuckyTemplates visuals.

Opprette LuckyTemplates-tabeller ved å bruke UNION & ROW-funksjonen

Opprette LuckyTemplates-tabeller ved å bruke UNION & ROW-funksjonen

I denne bloggen viser jeg deg hvordan du kan lage LuckyTemplates-tabeller ved å bruke en formel som kombinerer UNION-funksjonen og ROW-funksjonen.

On-Premises Data Gateway In Power Automate

On-Premises Data Gateway In Power Automate

Oppdag hvordan on-premises data gateway lar Power Automate få tilgang til skrivebordsapplikasjoner når brukeren er borte fra datamaskinen.

Oppdag unik innsikt ved å bruke LuckyTemplates TOPN-funksjon

Oppdag unik innsikt ved å bruke LuckyTemplates TOPN-funksjon

Denne bloggen inneholder LuckyTemplates TOPN DAX-funksjonen, som lar deg få unik innsikt fra dataene dine, og hjelper deg med å ta bedre markedsføringsbeslutninger.

Datamodellering i LuckyTemplates ved hjelp av støttetabeller

Datamodellering i LuckyTemplates ved hjelp av støttetabeller

Lær noen fantastiske analytiske teknikker som vi kan gjøre for datamodellering i LuckyTemplates ved å bruke DAX-støttetabeller.

Avansert DAX for LuckyTemplates: Implementering av rangeringslogikk på tvers av unik innsikt

Avansert DAX for LuckyTemplates: Implementering av rangeringslogikk på tvers av unik innsikt

Her dykker vi ned i LuckyTemplates Advanced DAX og implementerer rangeringslogikk for å få en helt unik innsikt. Jeg viser også frem målegrening i dette eksemplet.

LuckyTemplates What-If-parameterfunksjon

LuckyTemplates What-If-parameterfunksjon

Denne bloggen introduserer den nye funksjonen i LuckyTemplates, What-If-analyseparameteren. Du vil se hvordan det gjør alt raskt og enkelt for scenarioanalysen din.

Bruk LuckyTemplates Mål forgrening for å sjekke om marginene dine øker ettersom inntektene vokser

Bruk LuckyTemplates Mål forgrening for å sjekke om marginene dine øker ettersom inntektene vokser

Finn ut hvordan du kan finne ut om inntektsveksten din er god ved å sjekke om marginene dine økte ved å bruke LuckyTemplates som måler forgrening.

LuckyTemplates Parameters Via Query Editor

LuckyTemplates Parameters Via Query Editor

Lær og forstå hvordan du kan lage og bruke LuckyTemplates Parameters som er en kraftig funksjon i spørringsredigereren.

Rundt stolpediagram – en visualisering for dashbordet ditt

Rundt stolpediagram – en visualisering for dashbordet ditt

Denne opplæringen vil diskutere hvordan du lager et rundt søylediagram ved hjelp av Charticulator. Du vil lære hvordan du designer dem for LuckyTemplates-rapporten.