ಪರಿಹರಿಸಲಾಗಿದೆ: ಅಪ್‌ಸ್ಯಾಂಪ್ಲಿಂಗ್ ನಂತರ ಪಾಂಡಾಗಳು ಹಿಂದಕ್ಕೆ ತುಂಬುತ್ತವೆ

ಇಂದಿನ ಜಗತ್ತಿನಲ್ಲಿ, ವಿವಿಧ ವಿದ್ಯಮಾನಗಳನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ಮತ್ತು ತಿಳುವಳಿಕೆಯುಳ್ಳ ನಿರ್ಧಾರಗಳನ್ನು ತೆಗೆದುಕೊಳ್ಳಲು ಡೇಟಾ ಮ್ಯಾನಿಪ್ಯುಲೇಷನ್ ಮತ್ತು ವಿಶ್ಲೇಷಣೆ ಅತ್ಯಗತ್ಯ. ಡೇಟಾ ವಿಶ್ಲೇಷಣೆಯಲ್ಲಿ ಒಂದು ಸಾಮಾನ್ಯ ಕಾರ್ಯವೆಂದರೆ ಸಮಯ ಸರಣಿಯ ಡೇಟಾವನ್ನು ಮರುಹೊಂದಿಸುವುದು, ಇದು ಡೇಟಾದ ಆವರ್ತನವನ್ನು ಬದಲಾಯಿಸುವುದನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ, ಇದು ಅಪ್‌ಸ್ಯಾಂಪ್ಲಿಂಗ್ (ಆವರ್ತನವನ್ನು ಹೆಚ್ಚಿಸುವುದು) ಅಥವಾ ಡೌನ್‌ಸ್ಯಾಂಪ್ಲಿಂಗ್ (ಆವರ್ತನವನ್ನು ಕಡಿಮೆ ಮಾಡುವುದು). ಈ ಲೇಖನದಲ್ಲಿ, ಶಕ್ತಿಶಾಲಿ ಪೈಥಾನ್ ಲೈಬ್ರರಿ ಪಾಂಡಾಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಸಮಯ ಸರಣಿಯ ಡೇಟಾವನ್ನು ಅಪ್‌ಸ್ಯಾಂಪ್ಲಿಂಗ್ ಮಾಡುವಾಗ ಹಿಂದುಳಿದ ಭರ್ತಿ ಮಾಡುವ ಪ್ರಕ್ರಿಯೆಯನ್ನು ನಾವು ಚರ್ಚಿಸುತ್ತೇವೆ.

ಬ್ಯಾಕ್‌ವರ್ಡ್ ಫಿಲ್ ಇನ್ ಟೈಮ್ ಸೀರೀಸ್ ಡೇಟಾ

ನಾವು ಸಮಯ ಸರಣಿಯ ಡೇಟಾವನ್ನು ನವೀಕರಿಸಿದಾಗ, ನಾವು ಡೇಟಾ ಪಾಯಿಂಟ್‌ಗಳ ಆವರ್ತನವನ್ನು ಹೆಚ್ಚಿಸುತ್ತೇವೆ, ಇದು ಸಾಮಾನ್ಯವಾಗಿ ಹೊಸದಾಗಿ ರಚಿಸಲಾದ ಡೇಟಾ ಪಾಯಿಂಟ್‌ಗಳಿಗೆ ಮೌಲ್ಯಗಳನ್ನು ಕಳೆದುಕೊಳ್ಳುತ್ತದೆ. ಈ ಕಾಣೆಯಾದ ಮೌಲ್ಯಗಳನ್ನು ತುಂಬಲು, ನಾವು ವಿವಿಧ ವಿಧಾನಗಳನ್ನು ಬಳಸಬಹುದು. ಅಂತಹ ಒಂದು ವಿಧಾನವನ್ನು ಕರೆಯಲಾಗುತ್ತದೆ ಹಿಂದುಳಿದ ಭರ್ತಿ, ಎಂದೂ ಕರೆಯಲಾಗುತ್ತದೆ ಬ್ಯಾಕ್ಫಿಲ್ಲಿಂಗ್. ಬ್ಯಾಕ್‌ವರ್ಡ್ ಫಿಲ್ಲಿಂಗ್ ಎನ್ನುವುದು ಕಾಣೆಯಾದ ಮೌಲ್ಯಗಳನ್ನು ಸಮಯ ಸರಣಿಯಲ್ಲಿ ಲಭ್ಯವಿರುವ ಮುಂದಿನ ಮೌಲ್ಯದೊಂದಿಗೆ ತುಂಬುವ ಪ್ರಕ್ರಿಯೆಯಾಗಿದೆ.

ಪಾಂಡಾಸ್ ಲೈಬ್ರರಿ

ಪೈಥಾನ್ಸ್ ಪಾಂಡಾಸ್ ಗ್ರಂಥಾಲಯ ಡೇಟಾ ಮ್ಯಾನಿಪ್ಯುಲೇಷನ್‌ಗೆ ಅತ್ಯಗತ್ಯ ಸಾಧನವಾಗಿದೆ, ಡೇಟಾ ಫ್ರೇಮ್‌ಗಳು ಮತ್ತು ಸಮಯ ಸರಣಿ ಡೇಟಾದಂತಹ ಡೇಟಾ ರಚನೆಗಳನ್ನು ನಿರ್ವಹಿಸಲು ವ್ಯಾಪಕ ಶ್ರೇಣಿಯ ಕಾರ್ಯಗಳನ್ನು ನೀಡುತ್ತದೆ. ಪಾಂಡಾಗಳು ಅಂತರ್ನಿರ್ಮಿತ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಹೊಂದಿದ್ದು ಅದು ಸಮಯ ಸರಣಿಯ ಡೇಟಾದೊಂದಿಗೆ ಕೆಲಸ ಮಾಡುವುದನ್ನು ಸುಲಭಗೊಳಿಸುತ್ತದೆ, ಉದಾಹರಣೆಗೆ ಮರುಹೊಂದಿಸುವುದು ಮತ್ತು ಕಾಣೆಯಾದ ಮೌಲ್ಯಗಳನ್ನು ಭರ್ತಿ ಮಾಡುವುದು, ಅಪ್‌ಸ್ಯಾಂಪ್ಲಿಂಗ್ ನಂತರ ಬ್ಯಾಕ್‌ವರ್ಡ್ ಫಿಲ್ಲಿಂಗ್ ಅನ್ನು ಸಮರ್ಥವಾಗಿ ನಿರ್ವಹಿಸಲು ನಮಗೆ ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ.

ಪರಿಹಾರ: ಪಾಂಡಾಗಳೊಂದಿಗೆ ಬ್ಯಾಕ್ವರ್ಡ್ ಫಿಲ್

ಪಾಂಡಾಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಸಮಯ ಸರಣಿಯ ಡೇಟಾವನ್ನು ಅಪ್‌ಸ್ಯಾಂಪ್ಲಿಂಗ್ ಮಾಡಿದ ನಂತರ ಹಿಮ್ಮುಖ ಭರ್ತಿಯನ್ನು ಅನ್ವಯಿಸುವ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಪ್ರದರ್ಶಿಸಲು, ಸರಳ ಉದಾಹರಣೆಯನ್ನು ಪರಿಗಣಿಸೋಣ. ಅಗತ್ಯ ಲೈಬ್ರರಿಗಳನ್ನು ಆಮದು ಮಾಡಿಕೊಳ್ಳುವ ಮೂಲಕ ಮತ್ತು ಮಾದರಿ ಸಮಯ ಸರಣಿಯ ಡೇಟಾಸೆಟ್ ಅನ್ನು ರಚಿಸುವ ಮೂಲಕ ನಾವು ಪ್ರಾರಂಭಿಸುತ್ತೇವೆ.

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

ಈಗ ನಾವು ನಮ್ಮ ಮಾದರಿ ಡೇಟಾವನ್ನು ಹೊಂದಿದ್ದೇವೆ, ನಾವು ಅಪ್‌ಸ್ಯಾಂಪ್ಲಿಂಗ್ ಮತ್ತು ಬ್ಯಾಕ್‌ವರ್ಡ್ ಫಿಲ್ ವಿಧಾನವನ್ನು ಅನ್ವಯಿಸುವುದನ್ನು ಮುಂದುವರಿಸುತ್ತೇವೆ. ಈ ಉದಾಹರಣೆಯಲ್ಲಿ, ನಾವು ದೈನಂದಿನ ಆವರ್ತನದಿಂದ ಗಂಟೆಯ ಆವರ್ತನಕ್ಕೆ ಮಾದರಿಯನ್ನು ಮಾಡುತ್ತೇವೆ:

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

ಮೇಲಿನ ಕೋಡ್‌ನಲ್ಲಿ, ನಾವು ಮೊದಲು 'ದಿನಾಂಕ' ಕಾಲಮ್ ಅನ್ನು ಸೂಚ್ಯಂಕವಾಗಿ ಹೊಂದಿಸಿದ್ದೇವೆ ಮತ್ತು ನಂತರ ಡೇಟಾವನ್ನು ಬಳಸಿಕೊಂಡು ಗಂಟೆಯ ಆವರ್ತನಕ್ಕೆ ಮರುಮಾದರಿ ಮಾಡುತ್ತೇವೆ ಮರು ಮಾದರಿ () ಕಾರ್ಯ. ಹೆಚ್ಚಿದ ಆವರ್ತನದಿಂದಾಗಿ ಡೇಟಾಫ್ರೇಮ್ ಮೌಲ್ಯಗಳನ್ನು ಕಳೆದುಕೊಂಡಿದೆ. ನಾವು ನಂತರ ಬಳಸಿದ್ದೇವೆ ಫಿಲ್ನಾ () ಕಾಣೆಯಾದ ಮೌಲ್ಯಗಳ ಮೇಲೆ ಹಿಮ್ಮುಖ ಭರ್ತಿಯನ್ನು ಮಾಡಲು 'bfill' ನಿಯತಾಂಕದೊಂದಿಗೆ ವಿಧಾನ.

ಹಂತ-ಹಂತದ ವಿವರಣೆ

ಅದನ್ನು ಚೆನ್ನಾಗಿ ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ಕೋಡ್ ಅನ್ನು ಒಡೆಯೋಣ:

1. ನಾವು ಮೊದಲು ಪಾಂಡಾಗಳು ಮತ್ತು NumPy ಲೈಬ್ರರಿಗಳನ್ನು ಆಮದು ಮಾಡಿಕೊಂಡಿದ್ದೇವೆ:

   import pandas as pd
   import numpy as np
   

2. ನಾವು ಬಳಸಿಕೊಂಡು ಮಾದರಿ ಸಮಯ ಸರಣಿ ಡೇಟಾಸೆಟ್ ಅನ್ನು ರಚಿಸಿದ್ದೇವೆ ದಿನಾಂಕ_ವ್ಯಾಪ್ತಿ() ದೈನಂದಿನ ದಿನಾಂಕಗಳು ಮತ್ತು ಯಾದೃಚ್ಛಿಕ ಸಂಖ್ಯಾತ್ಮಕ ಮೌಲ್ಯಗಳನ್ನು ರಚಿಸಲು ಪಾಂಡಾಗಳಿಂದ ಕಾರ್ಯ:

   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. ಮುಂದೆ, ನಾವು 'ದಿನಾಂಕ' ಕಾಲಮ್ ಅನ್ನು ಸೂಚ್ಯಂಕವಾಗಿ ಹೊಂದಿಸಿದ್ದೇವೆ ಮತ್ತು ಡೇಟಾವನ್ನು ಗಂಟೆಯ ಆವರ್ತನಕ್ಕೆ ಮರುಮಾದರಿ ಮಾಡಿದ್ದೇವೆ ಮರು ಮಾದರಿ () ಮತ್ತು asfreq() ಕಾರ್ಯಗಳು:

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

4. ಅಂತಿಮವಾಗಿ, ನಾವು ಅಪ್‌ಸ್ಯಾಂಪಲ್ ಮಾಡಿದ ಡೇಟಾಫ್ರೇಮ್‌ನಲ್ಲಿ ಕಾಣೆಯಾದ ಮೌಲ್ಯಗಳನ್ನು ಬಳಸಿ ತುಂಬಿದ್ದೇವೆ ಫಿಲ್ನಾ () ಹಿಂದುಳಿದ ಭರ್ತಿಗಾಗಿ 'bfill' ನಿಯತಾಂಕದೊಂದಿಗೆ ವಿಧಾನ:

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

ತೀರ್ಮಾನ

ಈ ಲೇಖನದಲ್ಲಿ, ನಾವು ಪ್ರಕ್ರಿಯೆಯನ್ನು ಅನ್ವೇಷಿಸಿದ್ದೇವೆ ಸಮಯ ಸರಣಿಯ ಡೇಟಾವನ್ನು ಅಪ್‌ಸ್ಯಾಂಪ್ಲಿಂಗ್ ಮಾಡಿದ ನಂತರ ಹಿಮ್ಮುಖ ಭರ್ತಿ ಪೈಥಾನ್‌ನಲ್ಲಿ ಶಕ್ತಿಶಾಲಿ ಪಾಂಡಾಸ್ ಲೈಬ್ರರಿಯನ್ನು ಬಳಸುವುದು. ಈ ತಂತ್ರಗಳನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವ ಮತ್ತು ಕಾರ್ಯಗತಗೊಳಿಸುವ ಮೂಲಕ, ನಾವು ಸಮಯ ಸರಣಿ ಡೇಟಾವನ್ನು ಸಮರ್ಥವಾಗಿ ಕುಶಲತೆಯಿಂದ ನಿರ್ವಹಿಸಬಹುದು ಮತ್ತು ವಿಶ್ಲೇಷಿಸಬಹುದು, ಮೌಲ್ಯಯುತ ಒಳನೋಟಗಳನ್ನು ಕಂಡುಹಿಡಿಯಬಹುದು ಮತ್ತು ತಿಳುವಳಿಕೆಯುಳ್ಳ ನಿರ್ಧಾರಗಳನ್ನು ತೆಗೆದುಕೊಳ್ಳಬಹುದು.

ಸಂಬಂಧಿತ ಪೋಸ್ಟ್ಗಳು:

ಒಂದು ಕಮೆಂಟನ್ನು ಬಿಡಿ