सोडवले: पंडा अस्पष्ट मूल्यांनुसार पंक्ती फिल्टर करतात

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

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

आवश्यक लायब्ररी स्थापित करणे आणि आयात करणे

प्रारंभ करण्यासाठी, आम्हाला आवश्यक लायब्ररी स्थापित आणि आयात करणे आवश्यक आहे. तुम्ही पांडा आणि फजीवूझी दोन्ही स्थापित करण्यासाठी 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 फजीवूझी लायब्ररीमधील कार्य.

स्टेप बाय स्टेप कोड समजून घेणे

  • प्रथम, आम्ही एक DataFrame तयार करतो df आमचा डेटा सेट असलेला.
  • पुढे, आम्ही आमची शोध स्ट्रिंग "टी शर्ट" म्हणून परिभाषित करतो आणि समानता थ्रेशोल्ड 70 सेट करतो. तुम्ही तुमच्या इच्छित पातळीच्या समानतेनुसार थ्रेशोल्ड मूल्य समायोजित करू शकता.
  • त्यानंतर आपण नावाचे फंक्शन तयार करतो फिल्टर_पंक्ती, जे शोध स्ट्रिंग आणि निर्दिष्ट कॉलममधील प्रत्येक पंक्तीचे मूल्य यांच्यातील लेव्हनस्टाइन अंतरावर आधारित डेटाफ्रेम फिल्टर करते.
  • शेवटी, आम्ही कॉल फिल्टर_पंक्ती आमचे फिल्टर केलेले डेटाफ्रेम मिळविण्यासाठी कार्य, filtered_df.

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

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

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