આજના વિશ્વમાં, વિવિધ ઘટનાઓને સમજવા અને જાણકાર નિર્ણયો લેવા માટે ડેટા મેનીપ્યુલેશન અને વિશ્લેષણ આવશ્યક છે. ડેટા પૃથ્થકરણમાં એક સામાન્ય કાર્ય સમય શ્રેણીના ડેટાનું પુન: નમૂના લેવાનું છે, જેમાં ડેટાની આવર્તન બદલવાનો સમાવેશ થાય છે, કાં તો અપસેમ્પલિંગ (આવર્તન વધારીને) અથવા ડાઉનસેમ્પલિંગ (આવર્તન ઘટાડીને) દ્વારા. આ લેખમાં, અમે પાવરફુલ પાયથોન લાઇબ્રેરી, પાન્ડાસનો ઉપયોગ કરીને ટાઇમ સિરીઝના ડેટાને અપસેમ્પલિંગ કરતી વખતે બેકવર્ડ ફિલિંગની પ્રક્રિયાની ચર્ચા કરીશું.
સમય શ્રેણી ડેટામાં પછાત ભરો
જ્યારે અમે ટાઈમ સીરિઝ ડેટાને અપસેમ્પલ કરીએ છીએ, ત્યારે અમે ડેટા પોઈન્ટની આવર્તન વધારીએ છીએ, જે સામાન્ય રીતે નવા બનાવેલા ડેટા પોઈન્ટ માટે ગુમ થયેલ મૂલ્યોમાં પરિણમે છે. આ ખૂટતા મૂલ્યોને ભરવા માટે, અમે વિવિધ પદ્ધતિઓનો ઉપયોગ કરી શકીએ છીએ. આવી એક પદ્ધતિ કહેવામાં આવે છે પછાત ભરણ, તરીકે પણ જાણીતી બેકફિલિંગ. પછાત ભરણ એ ગુમ થયેલ મૂલ્યોને સમય શ્રેણીમાં આગામી ઉપલબ્ધ મૂલ્ય સાથે ભરવાની પ્રક્રિયા છે.
પાંડા પુસ્તકાલય
પાયથોન પાંડા પુસ્તકાલય ડેટા મેનીપ્યુલેશન માટે એક આવશ્યક સાધન છે, જે ડેટા ફ્રેમ્સ અને ટાઇમ સિરીઝ ડેટા જેવા ડેટા સ્ટ્રક્ચર્સને હેન્ડલ કરવા માટે કાર્યક્ષમતાની વિશાળ શ્રેણી ઓફર કરે છે. પાંડામાં બિલ્ટ-ઇન સુવિધાઓ છે જે સમય શ્રેણીના ડેટા સાથે કામ કરવાનું સરળ બનાવે છે, જેમ કે રિસેમ્પલિંગ અને ખૂટતા મૂલ્યોને ભરવા, અમને અપસેમ્પલિંગ પછી અસરકારક રીતે બેકવર્ડ ફિલિંગ કરવા સક્ષમ બનાવે છે.
ઉકેલ: પાંડા સાથે પછાત ભરો
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)
ઉપરના કોડમાં, અમે સૌપ્રથમ 'તારીખ' કૉલમને ઇન્ડેક્સ તરીકે સેટ કરીએ છીએ અને પછી ડેટાનો ઉપયોગ કરીને કલાકદીઠ આવર્તન પર ફરીથી સેમ્પલ કરીએ છીએ. ફરીથી નમૂના() કાર્ય વધેલી આવર્તનને કારણે પરિણામી ડેટાફ્રેમમાં મૂલ્યો ખૂટે છે. અમે પછી ઉપયોગ કર્યો ભરવું() ગુમ થયેલ મૂલ્યો પર પછાત ભરણ કરવા માટે પરિમાણ '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)
ઉપસંહાર
આ લેખમાં, અમે પ્રક્રિયાની શોધ કરી સમય શ્રેણી ડેટાના નમૂના લેવા પછી પછાત ભરણ Python માં શક્તિશાળી Pandas લાઇબ્રેરીનો ઉપયોગ કરીને. આ તકનીકોને સમજીને અને તેનો અમલ કરીને, અમે સમય શ્રેણીના ડેટાને અસરકારક રીતે હેરફેર અને વિશ્લેષણ કરી શકીએ છીએ, મૂલ્યવાન આંતરદૃષ્ટિ શોધી શકીએ છીએ અને જાણકાર નિર્ણયો લઈ શકીએ છીએ.