தீர்க்கப்பட்டது: தெளிவற்ற மதிப்புகள் மூலம் பாண்டாக்கள் வரிசைகளை வடிகட்டுகின்றன

தரவு பகுப்பாய்வு உலகில், தரவு கையாளுதல் மற்றும் செயலாக்கம் தேவைப்படும் பெரிய தரவுத் தொகுப்புகளை சந்திப்பது பொதுவானது. தெளிவற்ற மதிப்புகளின் அடிப்படையில் வரிசைகளை வடிகட்டுவது, குறிப்பாக உரைத் தரவைக் கையாளும் போது இதுபோன்ற ஒரு சிக்கல் அடிக்கடி எழுகிறது. Pandas, தரவு கையாளுதலுக்கான பிரபலமான பைதான் நூலகம், இந்த சிக்கலைச் சமாளிக்க உதவும் ஒரு நேர்த்தியான தீர்வை வழங்குகிறது. இந்தக் கட்டுரையில், தெளிவற்ற மதிப்புகளைப் பயன்படுத்தி வரிசைகளை வடிகட்ட, குறியீட்டை படிப்படியாக ஆராய்ந்து, இதே போன்ற சிக்கல்களைத் தீர்க்க உதவும் தொடர்புடைய நூலகங்கள் மற்றும் செயல்பாடுகளைப் பற்றி விவாதிப்பதற்கு, Pandas ஐ எவ்வாறு பயன்படுத்துவது என்பதைப் பற்றி முழுக்குவோம்.

இந்த சிக்கலைத் தீர்க்கத் தொடங்க, நாங்கள் அதைப் பயன்படுத்துவோம் பாண்டாக்கள் உடன் நூலகம் தெளிவில்லாத வெவ்வேறு சரங்களுக்கு இடையிலான ஒற்றுமையைக் கணக்கிட உதவும் நூலகம். தி தெளிவில்லாத நூலகம் Levenshtein தூரத்தைப் பயன்படுத்துகிறது, இது ஒரு சரத்தை மற்றொரு சரமாக மாற்றுவதற்குத் தேவையான திருத்தங்களின் எண்ணிக்கையை (செருக்குதல், நீக்குதல் அல்லது மாற்றீடுகள்) அடிப்படையிலான ஒற்றுமையின் அளவீடு ஆகும்.

தேவையான நூலகங்களை நிறுவுதல் மற்றும் இறக்குமதி செய்தல்

தொடங்குவதற்கு, தேவையான நூலகங்களை நிறுவி இறக்குமதி செய்ய வேண்டும். Pandas மற்றும் fuzzywuzzy இரண்டையும் நிறுவ பிப்பைப் பயன்படுத்தலாம்:

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)

மேலே உள்ள குறியீட்டில், ஒரு செயல்பாட்டை வரையறுக்கிறோம் வடிகட்டி_வரிசைகள் இது நான்கு அளவுருக்களை எடுக்கும்: DataFrame, நெடுவரிசையின் பெயர், தேடல் சரம் மற்றும் ஒற்றுமை வாசல். இது குறிப்பிட்ட வரம்பின் அடிப்படையில் வடிகட்டப்பட்ட டேட்டாஃப்ரேமை வழங்குகிறது, இதைப் பயன்படுத்தி கணக்கிடப்படுகிறது fuzz.token_sort_ratio fuzzywuzzy நூலகத்திலிருந்து செயல்பாடு.

குறியீட்டை படிப்படியாகப் புரிந்துகொள்வது

  • முதலில், DataFrame எனப்படும் ஒரு DataFrame ஐ உருவாக்குகிறோம் df எங்கள் தரவுத் தொகுப்பைக் கொண்டுள்ளது.
  • அடுத்து, எங்களின் தேடல் சரத்தை “டீ ஷர்ட்” என்று வரையறுத்து, 70ஐ ஒற்றுமை வரம்பை அமைக்கிறோம். நீங்கள் விரும்பிய அளவிலான ஒற்றுமைக்கு ஏற்ப த்ரெஷோல்ட் மதிப்பை சரிசெய்யலாம்.
  • அதன் பிறகு ஒரு செயல்பாட்டை உருவாக்குகிறோம் வடிகட்டி_வரிசைகள், குறிப்பிட்ட நெடுவரிசையில் உள்ள தேடல் சரத்திற்கும் ஒவ்வொரு வரிசையின் மதிப்பிற்கும் இடையே உள்ள Levenshtein தூரத்தின் அடிப்படையில் DataFrame ஐ வடிகட்டுகிறது.
  • இறுதியாக, நாங்கள் அழைக்கிறோம் வடிகட்டி_வரிசைகள் எங்கள் வடிகட்டப்பட்ட DataFrame ஐப் பெறுவதற்கான செயல்பாடு, filtered_df.

முடிவில், பாண்டாஸ், தெளிவில்லாத நூலகத்துடன் இணைந்து, தெளிவற்ற மதிப்புகளின் அடிப்படையில் வரிசைகளை வடிகட்டுவதற்கான சிறந்த கருவியாகும். இந்த நூலகங்கள் மற்றும் அவற்றின் செயல்பாடுகளை புரிந்துகொள்வது, தரவை திறமையாக கையாளவும் சிக்கலான தரவு செயலாக்க பணிகளை தீர்க்கவும் அனுமதிக்கிறது.

தொடர்புடைய இடுகைகள்:

ஒரு கருத்துரையை