ઉકેલાયેલ: પાંડા અસ્પષ્ટ મૂલ્યો દ્વારા પંક્તિઓ ફિલ્ટર કરે છે

ડેટા વિશ્લેષણની દુનિયામાં, મોટા ડેટા સેટ્સનો સામનો કરવો સામાન્ય છે જેને ડેટા મેનીપ્યુલેશન અને પ્રોસેસિંગની જરૂર હોય છે. આવી જ એક સમસ્યા જે ઘણી વાર ઊભી થાય છે તે છે અસ્પષ્ટ મૂલ્યો પર આધારિત પંક્તિઓ ફિલ્ટર કરવાની, ખાસ કરીને જ્યારે ટેક્સ્ટ્યુઅલ ડેટા સાથે કામ કરતી વખતે. ડેટા મેનીપ્યુલેશન માટે લોકપ્રિય પાયથોન લાઇબ્રેરી, Pandas, આ સમસ્યાનો સામનો કરવામાં મદદ કરવા માટે એક ભવ્ય ઉકેલ પૂરો પાડે છે. આ લેખમાં, અમે અસ્પષ્ટ મૂલ્યોનો ઉપયોગ કરીને પંક્તિઓને ફિલ્ટર કરવા માટે પંડાનો ઉપયોગ કેવી રીતે કરવો, કોડનું પગલું-દર-પગલું અન્વેષણ કરીશું અને સંબંધિત લાઇબ્રેરીઓ અને કાર્યોની ચર્ચા કરીશું જે સમાન સમસ્યાઓ ઉકેલવામાં મદદ કરી શકે છે.

આ સમસ્યાને હલ કરવા માટે, અમે તેનો લાભ લઈશું પાંડા ની સાથે પુસ્તકાલય અસ્પષ્ટ લાઇબ્રેરી જે વિવિધ શબ્દમાળાઓ વચ્ચે સમાનતાની ગણતરી કરવામાં મદદ કરે છે. આ અસ્પષ્ટ લાઇબ્રેરી લેવેનશ્ટીન અંતરનો ઉપયોગ કરે છે, જે એક સ્ટ્રિંગને બીજામાં રૂપાંતરિત કરવા માટે જરૂરી સંપાદનો (નિવેશ, કાઢી નાખવા અથવા અવેજી)ની સંખ્યાના આધારે સમાનતાનું માપ છે.

જરૂરી લાઇબ્રેરીઓ ઇન્સ્ટોલ અને આયાત કરવી

શરૂ કરવા માટે, અમારે જરૂરી લાઇબ્રેરીઓ ઇન્સ્ટોલ અને આયાત કરવાની જરૂર પડશે. તમે Pandas અને fuzzywuzzy બંને ઇન્સ્ટોલ કરવા માટે pip નો ઉપયોગ કરી શકો છો:

pip install pandas
pip install fuzzywuzzy

એકવાર ઇન્સ્ટોલ થઈ ગયા પછી, તમારા પાયથોન કોડમાં લાઇબ્રેરીઓ આયાત કરો:

import pandas as pd
from fuzzywuzzy import fuzz, process

અસ્પષ્ટ મૂલ્યો પર આધારિત પંક્તિઓ ફિલ્ટરિંગ

હવે અમે જરૂરી લાઇબ્રેરીઓ આયાત કરી છે, ચાલો એક કાલ્પનિક ડેટા સેટ બનાવીએ અને અસ્પષ્ટ મૂલ્યોના આધારે પંક્તિઓ કેવી રીતે ફિલ્ટર કરવી તે દર્શાવીએ. આ ઉદાહરણમાં, અમારા ડેટા સેટમાં વસ્ત્રોના નામો અને તેમની અનુરૂપ શૈલીઓ હશે.

data = {'Garment': ['T-shirt', 'Polo shirt', 'Jeans', 'Leather jacket', 'Winter coat'],
        'Style': ['Casual', 'Casual', 'Casual', 'Biker', 'Winter']}
df = pd.DataFrame(data)

ધારીએ છીએ કે અમે "ટી શર્ટ" જેવા નામો સાથે વસ્ત્રો ધરાવતી પંક્તિઓ ફિલ્ટર કરવા માંગીએ છીએ, આ પરિપૂર્ણ કરવા માટે અમારે અસ્પષ્ટ પુસ્તકાલયનો ઉપયોગ કરવાની જરૂર પડશે.

search_string = "Tee shirt"
threshold = 70

def filter_rows(df, column, search_string, threshold):
    return df[df[column].apply(lambda x: fuzz.token_sort_ratio(x, search_string)) >= threshold]

filtered_df = filter_rows(df, 'Garment', search_string, threshold)

ઉપરના કોડમાં, આપણે ફંક્શનને વ્યાખ્યાયિત કરીએ છીએ ફિલ્ટર_પંક્તિઓ જે ચાર પરિમાણો લે છે: ડેટાફ્રેમ, કૉલમનું નામ, શોધ સ્ટ્રિંગ અને સમાનતા થ્રેશોલ્ડ. તે ઉલ્લેખિત થ્રેશોલ્ડના આધારે ફિલ્ટર કરેલ ડેટાફ્રેમ પરત કરે છે, જેની ગણતરી fuzz.token_sort_ratio ફઝીવુઝી લાઇબ્રેરીમાંથી કાર્ય.

કોડને સ્ટેપ-બાય-સ્ટેપ સમજવું

  • પ્રથમ, અમે એક ડેટાફ્રેમ બનાવીએ છીએ જેને કહેવાય છે df અમારા ડેટા સેટ સમાવે છે.
  • આગળ, અમે અમારી શોધ સ્ટ્રીંગને "ટી શર્ટ" તરીકે વ્યાખ્યાયિત કરીએ છીએ અને 70 ની સમાનતા થ્રેશોલ્ડ સેટ કરીએ છીએ. તમે તમારા ઇચ્છિત સમાનતાના સ્તર અનુસાર થ્રેશોલ્ડ મૂલ્યને સમાયોજિત કરી શકો છો.
  • પછી આપણે નામનું ફંક્શન બનાવીએ છીએ ફિલ્ટર_પંક્તિઓ, જે શોધ સ્ટ્રિંગ અને ઉલ્લેખિત કૉલમમાં દરેક પંક્તિના મૂલ્ય વચ્ચેના લેવેનશ્ટીન અંતરના આધારે ડેટાફ્રેમને ફિલ્ટર કરે છે.
  • છેલ્લે, અમે કૉલ ફિલ્ટર_પંક્તિઓ અમારા ફિલ્ટર કરેલ ડેટાફ્રેમ મેળવવા માટેનું કાર્ય, filtered_df.

નિષ્કર્ષમાં, પાંડા, ફઝીવઝી લાઇબ્રેરી સાથે સંયોજનમાં, અસ્પષ્ટ મૂલ્યો પર આધારિત પંક્તિઓ ફિલ્ટર કરવા માટે એક ઉત્તમ સાધન છે. આ લાઇબ્રેરીઓ અને તેમના કાર્યોને સમજવાથી અમને ડેટાને અસરકારક રીતે ચાલાકી અને જટિલ ડેટા પ્રોસેસિંગ કાર્યોને હલ કરવાની મંજૂરી મળે છે.

સંબંધિત પોસ્ટ્સ:

પ્રતિક્રિયા આપો