Rešeno: pande zapolnijo nazaj po vzorčenju

V današnjem svetu sta obdelava in analiza podatkov bistvena za razumevanje različnih pojavov in sprejemanje premišljenih odločitev. Ena od običajnih nalog pri analizi podatkov je ponovno vzorčenje podatkov časovnih vrst, ki vključuje spreminjanje frekvence podatkov, bodisi z navzgornjim vzorčenjem (povečanje frekvence) ali znižanjem vzorčenja (zmanjšanje frekvence). V tem članku bomo razpravljali o procesu povratnega polnjenja med vzorčenjem podatkov časovnih vrst z uporabo zmogljive knjižnice Python, Pandas.

Podatki časovne vrste za nazaj

Ko nadvzorčimo podatke časovnih vrst, povečamo pogostost podatkovnih točk, kar običajno povzroči manjkajoče vrednosti za novo ustvarjene podatkovne točke. Za zapolnitev teh manjkajočih vrednosti lahko uporabimo različne metode. Ena taka metoda se imenuje povratno polnjenje, poznan tudi kot zasipavanje. Polnjenje nazaj je postopek zapolnjevanja manjkajočih vrednosti z naslednjo razpoložljivo vrednostjo v časovni vrsti.

Pandas knjižnica

Pythonova Knjižnica pande je bistveno orodje za manipulacijo podatkov, ki ponuja široko paleto funkcionalnosti za obdelavo podatkovnih struktur, kot so DataFrames in podatki časovnih vrst. Panda ima vgrajene funkcije, ki olajšajo delo s podatki časovnih vrst, kot je ponovno vzorčenje in zapolnjevanje manjkajočih vrednosti, kar nam omogoča učinkovito polnjenje za nazaj po vzorčenju.

Rešitev: Izpolnite nazaj s pandami

Za predstavitev postopka uporabe zapolnjevanja za nazaj po povečanem vzorčenju podatkov časovnih vrst z uporabo Pande si oglejmo preprost primer. Začeli bomo z uvozom potrebnih knjižnic in ustvarjanjem vzorčnega niza podatkov časovne vrste.

import pandas as pd
import numpy as np

# Create a sample time series dataset
date_rng = pd.date_range(start='2022-01-01', end='2022-01-10', freq='D')
data = np.random.randint(0, 100, size=(len(date_rng), 1))

df = pd.DataFrame(date_rng, columns=['date'])
df['value'] = data

Zdaj, ko imamo vzorčne podatke, bomo nadaljevali s povečevanjem vzorčenja in uporabo metode povratnega polnjenja. V tem primeru bomo povečali vzorčenje z dnevne frekvence na frekvenco na uro:

# Upsample the data to hourly frequency
df.set_index('date', inplace=True)
hourly_df = df.resample('H').asfreq()

# Apply the backward fill method to fill missing values
hourly_df.fillna(method='bfill', inplace=True)

V zgornji kodi smo najprej nastavili stolpec 'datum' kot indeks in nato ponovno vzorčili podatke na urno frekvenco z uporabo ponovno vzorčenje () funkcijo. Dobljen DataFrame ima manjkajoče vrednosti zaradi povečane frekvence. Nato smo uporabili fillna() metoda s parametrom 'bfill' za izvedbo povratnega zapolnjevanja manjkajočih vrednosti.

Razlaga po korakih

Razčlenimo kodo, da jo bomo bolje razumeli:

1. Najprej smo uvozili knjižnici Pandas in NumPy:

   import pandas as pd
   import numpy as np
   

2. Ustvarili smo vzorčni niz podatkov o časovni vrsti z uporabo datum_obseg() funkcija Pandas za ustvarjanje dnevnih datumov in naključnih številskih vrednosti:

   date_rng = pd.date_range(start='2022-01-01', end='2022-01-10', freq='D')
   data = np.random.randint(0, 100, size=(len(date_rng), 1))
   df = pd.DataFrame(date_rng, columns=['date'])
   df['value'] = data
   

3. Nato smo stolpec 'datum' nastavili kot indeks in znova vzorčili podatke na urno frekvenco z ponovno vzorčenje () in asfreq() funkcije:

   df.set_index('date', inplace=True)
   hourly_df = df.resample('H').asfreq()
   

4. Končno smo zapolnili manjkajoče vrednosti v nadvzorčenem DataFrame z uporabo fillna() metoda s parametrom 'bfill' za povratno polnjenje:

   hourly_df.fillna(method='bfill', inplace=True)
   

zaključek

V tem članku smo raziskali postopek povratno polnjenje po povečanem vzorčenju podatkov časovne vrste z uporabo zmogljive knjižnice Pandas v Pythonu. Z razumevanjem in izvajanjem teh tehnik lahko učinkovito manipuliramo in analiziramo podatke časovnih vrst, odkrivamo dragocene vpoglede in sprejemamo premišljene odločitve.

Podobni objav:

Pustite komentar