Diselesaikan: panda mengisi mundur setelah upsampling

Di dunia sekarang ini, manipulasi dan analisis data sangat penting untuk memahami berbagai fenomena dan membuat keputusan berdasarkan informasi. Salah satu tugas umum dalam analisis data adalah resampling data time series, yang melibatkan pengubahan frekuensi data, baik dengan upsampling (meningkatkan frekuensi) atau downsampling (menurunkan frekuensi). Pada artikel ini, kita akan membahas proses pengisian mundur sambil melakukan upsampling data deret waktu menggunakan library Python yang kuat, Pandas.

Mundur Isikan Data Time Series

Saat kami mengambil sampel data deret waktu, kami meningkatkan frekuensi titik data, yang biasanya menghasilkan nilai yang hilang untuk titik data yang baru dibuat. Untuk mengisi missing value ini, kita bisa menggunakan berbagai cara. Salah satu metode tersebut disebut pengisian mundur, juga dikenal sebagai penimbunan kembali. Pengisian mundur adalah proses mengisi nilai yang hilang dengan nilai berikutnya yang tersedia dalam deret waktu.

Perpustakaan Panda

Python perpustakaan panda adalah alat penting untuk manipulasi data, menawarkan berbagai fungsi untuk menangani struktur data seperti DataFrames dan data deret waktu. Panda memiliki fitur bawaan yang memudahkan untuk bekerja dengan data deret waktu, seperti resampling dan mengisi nilai yang hilang, memungkinkan kami melakukan pengisian mundur secara efisien setelah upsampling.

Solusi: Isi Mundur dengan Panda

Untuk mendemonstrasikan proses penerapan pengisian mundur setelah upsampling data deret waktu menggunakan Panda, mari pertimbangkan contoh sederhana. Kita akan mulai dengan mengimpor pustaka yang diperlukan dan membuat contoh kumpulan data deret waktu.

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 memiliki data sampel, kami akan melanjutkan dengan upsampling dan menerapkan metode pengisian mundur. Dalam contoh ini, kami akan melakukan upsample dari frekuensi harian ke frekuensi per 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)

Pada kode di atas, pertama-tama kita menyetel kolom 'tanggal' sebagai indeks dan kemudian mengubah sampel data menjadi frekuensi per jam menggunakan contoh ulang() fungsi. DataFrame yang dihasilkan memiliki nilai yang hilang karena peningkatan frekuensi. Kami kemudian menggunakan isi () metode dengan parameter 'bfill' untuk melakukan pengisian mundur pada nilai yang hilang.

Penjelasan Langkah-demi-Langkah

Mari kita pecahkan kode untuk memahaminya dengan lebih baik:

1. Kami pertama-tama mengimpor pustaka Pandas dan NumPy:

   import pandas as pd
   import numpy as np
   

2. Kami membuat sampel dataset deret waktu menggunakan rentang_tanggal() fungsi dari Panda untuk menghasilkan tanggal harian dan nilai numerik acak:

   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. Selanjutnya, kami menyetel kolom 'tanggal' sebagai indeks dan mengubah sampel data menjadi frekuensi per jam dengan contoh ulang() dan sesering() fungsi:

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

4. Akhirnya, kami mengisi nilai yang hilang di DataFrame upsampled menggunakan isi () metode dengan parameter 'bfill' untuk pengisian mundur:

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

Kesimpulan

Pada artikel ini, kami menjelajahi proses pengisian mundur setelah upsampling data deret waktu menggunakan perpustakaan Pandas yang kuat dengan Python. Dengan memahami dan menerapkan teknik ini, kita dapat memanipulasi dan menganalisis data deret waktu secara efisien, menemukan wawasan yang berharga, dan membuat keputusan berdasarkan informasi.

Pos terkait:

Tinggalkan Komentar