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

Leave a Comment

DAX Studio EVALUATE Nøkkelord: Grunnleggende eksempler

DAX Studio EVALUATE Nøkkelord: Grunnleggende eksempler

Lær å bruke DAX Studio EVALUATE nøkkelordet med grunnleggende eksempler og få en bedre forståelse av hvordan dette kan hjelpe deg med databehandling.

Opprette en datotabell i LuckyTemplates

Opprette en datotabell i LuckyTemplates

Finn ut hvorfor det er viktig å ha en dedikert datotabell i LuckyTemplates, og lær den raskeste og mest effektive måten å gjøre det på.

LuckyTemplates Mobile Reporting Tips og teknikker

LuckyTemplates Mobile Reporting Tips og teknikker

Denne korte opplæringen fremhever LuckyTemplates mobilrapporteringsfunksjon. Jeg skal vise deg hvordan du kan utvikle rapporter effektivt for mobil.

Profesjonelle tjenesteanalyserapporter i LuckyTemplates

Profesjonelle tjenesteanalyserapporter i LuckyTemplates

I denne LuckyTemplates-utstillingen vil vi gå gjennom rapporter som viser profesjonell tjenesteanalyse fra et firma som har flere kontrakter og kundeengasjementer.

Microsoft Power Platform-oppdateringer | Microsoft Ignite 2021

Microsoft Power Platform-oppdateringer | Microsoft Ignite 2021

Gå gjennom de viktigste oppdateringene for Power Apps og Power Automate og deres fordeler og implikasjoner for Microsoft Power Platform.

Vanlige SQL-funksjoner: en oversikt

Vanlige SQL-funksjoner: en oversikt

Oppdag noen vanlige SQL-funksjoner som vi kan bruke som streng, dato og noen avanserte funksjoner for å behandle eller manipulere data.

LuckyTemplates Template Creation: Guide og tips

LuckyTemplates Template Creation: Guide og tips

I denne opplæringen lærer du hvordan du lager din perfekte LuckyTemplates-mal som er konfigurert til dine behov og preferanser.

Feltparametre og små multipler i LuckyTemplates

Feltparametre og små multipler i LuckyTemplates

I denne bloggen vil vi demonstrere hvordan du legger feltparametere sammen med små multipler for å skape utrolig nyttig innsikt og grafikk.

LuckyTemplates-rangering og tilpasset gruppering

LuckyTemplates-rangering og tilpasset gruppering

I denne bloggen vil du lære hvordan du bruker LuckyTemplates rangering og tilpassede grupperingsfunksjoner for å segmentere et eksempeldata og rangere det i henhold til kriterier.

Viser kun kumulativ total opp til en bestemt dato i LuckyTemplates

Viser kun kumulativ total opp til en bestemt dato i LuckyTemplates

I denne opplæringen skal jeg dekke en spesifikk teknikk rundt hvordan du viser kumulativ total kun opp til en bestemt dato i grafikken i LuckyTemplates.