सोडवले: सॅम्पलिंगनंतर पांडा बॅकवर्ड फिल

आजच्या जगात, विविध घटना समजून घेण्यासाठी आणि माहितीपूर्ण निर्णय घेण्यासाठी डेटा हाताळणी आणि विश्लेषण आवश्यक आहे. डेटा विश्लेषणातील एक सामान्य कार्य म्हणजे टाइम सीरीज डेटाचे पुनर्नमुने करणे, ज्यामध्ये डेटाची वारंवारता बदलणे समाविष्ट असते, एकतर अपसॅम्पलिंग (फ्रिक्वेंसी वाढवणे) किंवा डाउनसॅम्पलिंग (फ्रिक्वेंसी कमी करणे). या लेखात, आम्ही शक्तिशाली Python लायब्ररी, Pandas वापरून टाइम सीरीज डेटाचे नमुना तयार करताना बॅकवर्ड फिलिंगच्या प्रक्रियेवर चर्चा करू.

वेळ मालिका डेटामध्ये मागास भरा

जेव्हा आम्ही टाइम सीरीज डेटाचे नमुना घेतो, तेव्हा आम्ही डेटा पॉइंट्सची वारंवारता वाढवतो, ज्यामुळे सामान्यतः नवीन तयार केलेल्या डेटा पॉइंट्सची मूल्ये गहाळ होतात. ही गहाळ मूल्ये भरण्यासाठी, आम्ही विविध पद्धती वापरू शकतो. अशी एक पद्धत म्हणतात मागे भरणे, त्याला असे सुद्धा म्हणतात बॅकफिलिंग. बॅकवर्ड फिलिंग ही गहाळ मूल्ये वेळेच्या मालिकेतील पुढील उपलब्ध मूल्यासह भरण्याची प्रक्रिया आहे.

पांडस लायब्ररी

अजगर पांडा लायब्ररी डेटा हाताळणीसाठी हे एक आवश्यक साधन आहे, जे डेटा फ्रेम्स आणि टाइम सीरिज डेटा सारख्या डेटा संरचना हाताळण्यासाठी कार्यक्षमतेची विस्तृत श्रेणी ऑफर करते. Pandas मध्ये अंगभूत वैशिष्ट्ये आहेत जी टाइम सीरिज डेटासह कार्य करणे सोपे करतात, जसे की पुनर्नमुना करणे आणि गहाळ मूल्ये भरणे, आम्हाला अपसॅम्पलिंगनंतर बॅकवर्ड फिलिंग कार्यक्षमतेने करण्यास सक्षम करते.

उपाय: मागास पंड्यासह भरा

पांडा वापरून टाइम सीरिज डेटाचे नमुने घेतल्यानंतर बॅकवर्ड फिल लागू करण्याची प्रक्रिया दाखवण्यासाठी, एक साधे उदाहरण पाहू. आम्ही आवश्यक लायब्ररी आयात करून आणि नमुना वेळ मालिका डेटासेट तयार करून प्रारंभ करू.

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)

वरील कोडमध्ये, आम्ही प्रथम 'तारीख' कॉलम इंडेक्स म्हणून सेट केला आणि नंतर डेटाचे प्रतितास वारंवारता वापरून पुनर्नमुना केले. resample() कार्य वाढलेल्या वारंवारतेमुळे परिणामी डेटाफ्रेमची मूल्ये गहाळ आहेत. आम्ही नंतर वापरले भरणे() गहाळ मूल्यांवर बॅकवर्ड फिल करण्यासाठी पॅरामीटर 'bfill' सह पद्धत.

चरण-दर-चरण स्पष्टीकरण

कोड चांगल्या प्रकारे समजून घेण्यासाठी तो खंडित करूया:

1. आम्ही प्रथम Pandas आणि 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. पुढे, आम्ही इंडेक्स म्हणून 'तारीख' स्तंभ सेट केला आणि डेटाचे प्रति तासाच्या वारंवारतेवर पुनर्नमुना केले. resample() आणि asfreq() कार्ये:

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

4. शेवटी, आम्ही वापरून नमुने घेतलेल्या डेटाफ्रेममधील गहाळ मूल्ये भरली भरणे() बॅकवर्ड फिलिंगसाठी 'bfill' पॅरामीटरसह पद्धत:

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

निष्कर्ष

या लेखात, आम्ही प्रक्रियेचा शोध घेतला टाइम सीरिज डेटाचे नमुने घेतल्यानंतर बॅकवर्ड फिलिंग Python मध्ये शक्तिशाली पांडा लायब्ररी वापरणे. ही तंत्रे समजून घेऊन आणि अंमलात आणून, आम्ही वेळ मालिकेतील डेटा कुशलतेने हाताळू शकतो आणि त्याचे विश्लेषण करू शकतो, मौल्यवान अंतर्दृष्टी शोधू शकतो आणि माहितीपूर्ण निर्णय घेऊ शकतो.

संबंधित पोस्ट:

एक टिप्पणी द्या