Selesai: panda mengisi ke belakang selepas pensampelan naik

Dalam dunia hari ini, manipulasi dan analisis data adalah penting untuk memahami pelbagai fenomena dan membuat keputusan termaklum. Salah satu tugas biasa dalam analisis data ialah pensampelan semula data siri masa, yang melibatkan perubahan kekerapan data, sama ada dengan pensampelan tinggi (meningkatkan kekerapan) atau pensampelan turun (mengurangkan kekerapan). Dalam artikel ini, kita akan membincangkan proses pengisian ke belakang sambil meningkatkan data siri masa menggunakan perpustakaan Python yang berkuasa, Pandas.

Isi Belakang Data Siri Masa

Apabila kami upsample data siri masa, kami meningkatkan kekerapan titik data, yang biasanya menyebabkan nilai hilang untuk titik data yang baru dibuat. Untuk mengisi nilai yang hilang ini, kita boleh menggunakan pelbagai kaedah. Satu kaedah sedemikian dipanggil pengisian ke belakang, juga dikenali sebagai pengisian semula. Pengisian ke belakang ialah proses mengisi nilai yang hilang dengan nilai yang tersedia seterusnya dalam siri masa.

Perpustakaan Panda

Python Perpustakaan panda ialah alat penting untuk manipulasi data, menawarkan pelbagai fungsi untuk mengendalikan struktur data seperti DataFrames dan data siri masa. Pandas mempunyai ciri terbina dalam yang memudahkan untuk bekerja dengan data siri masa, seperti pensampelan semula dan mengisi nilai yang tiada, membolehkan kami melakukan pengisian ke belakang dengan cekap selepas pensampelan tinggi.

Penyelesaian: Isi Belakang dengan Panda

Untuk menunjukkan proses menggunakan isian mundur selepas meningkatkan data siri masa menggunakan Panda, mari kita pertimbangkan contoh mudah. Kami akan bermula dengan mengimport perpustakaan yang diperlukan dan mencipta set data siri masa sampel.

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

Sekarang setelah kami mempunyai data sampel kami, kami akan meneruskan pensampelan naik dan menggunakan kaedah pengisian ke belakang. Dalam contoh ini, kami akan upsample daripada kekerapan harian kepada kekerapan setiap jam:

# 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)

Dalam kod di atas, kami mula-mula menetapkan lajur 'tarikh' sebagai indeks dan kemudian sampel semula data kepada kekerapan setiap jam menggunakan sampel semula() fungsi. DataFrame yang terhasil mempunyai nilai yang hilang disebabkan oleh peningkatan kekerapan. Kami kemudian menggunakan fillna() kaedah dengan parameter 'bfill' untuk melakukan pengisian ke belakang pada nilai yang hilang.

Penjelasan Langkah demi Langkah

Mari pecahkan kod untuk memahaminya dengan lebih baik:

1. Kami mula-mula mengimport perpustakaan Pandas dan NumPy:

   import pandas as pd
   import numpy as np
   

2. Kami mencipta set data siri masa sampel menggunakan julat_ tarikh() berfungsi daripada Panda untuk menjana tarikh harian dan nilai berangka rawak:

   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. Seterusnya, kami menetapkan lajur 'tarikh' sebagai indeks dan sampel semula data kepada kekerapan setiap jam dengan sampel semula() and asfreq() fungsi:

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

4. Akhir sekali, kami mengisi nilai yang hilang dalam DataFrame upsampled menggunakan fillna() kaedah dengan parameter 'bfill' untuk pengisian ke belakang:

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

Kesimpulan

Dalam artikel ini, kami meneroka proses pengisian ke belakang selepas menambah data siri masa menggunakan perpustakaan Pandas yang berkuasa dalam Python. Dengan memahami dan melaksanakan teknik ini, kami boleh memanipulasi dan menganalisis data siri masa dengan cekap, menemui cerapan berharga dan membuat keputusan termaklum.

Related posts:

Tinggalkan komen