डेटा विश्लेषण परिदृश्यों में, परिणामों को कम करने के लिए कई फ़िल्टर लागू करना अक्सर महत्वपूर्ण होता है। इस लेख का उद्देश्य पांडा डेटा ऑब्जेक्ट पर कई तुलना संचालन को श्रृंखलाबद्ध करने के लिए एक कुशल दृष्टिकोण को संबोधित करना है। श्रृंखला या डेटाफ़्रेम, जिसके परिणामस्वरूप फ़िल्टर किया गया डेटासेट प्राप्त होता है। इस ऑपरेशन के लिए अनावश्यक डेटा प्रतिलिपि को कम करने की आवश्यकता होती है, खासकर जब बड़े डेटासेट से निपटते हैं।
पांडा बूलियन इंडेक्सिंग का उपयोग करके डेटा को फ़िल्टर करने के लिए एक अत्यधिक कुशल तंत्र प्रदान करता है। बूलियन इंडेक्सिंग में तार्किक स्थितियाँ बनाना और फिर इन शर्तों का उपयोग करके डेटा को अनुक्रमित करना शामिल है। निम्नलिखित उदाहरण पर विचार करें:
df.loc[df['col1'] >= 1, 'col1']कोड की यह पंक्ति डेटाफ़्रेम डीएफ में सभी पंक्तियों का चयन करती है जहां 'col1' कॉलम में मान 1 से अधिक या उसके बराबर है। परिणाम एक नई श्रृंखला ऑब्जेक्ट है जिसमें फ़िल्टर किए गए मान शामिल हैं।df.loc[df['col1'] >= 1, 'col1']
df[(df['col1'] >= 1) & (df['col1'] यह ऑपरेशन उन पंक्तियों को फ़िल्टर करता है जहां 'col1' 1 से बड़ा या उसके बराबर और 1 से कम या उसके बराबर दोनों है।df[(df['col1'] >= 1) & (df['col1'] <= 1)]
कई फ़िल्टर लागू करने की प्रक्रिया को सरल बनाने के लिए, हम सहायक कार्य बना सकते हैं:
def b(x, col, op, n): वापसी ऑप(x[col], n) डीईएफ़ एफ(एक्स, *बी): रिटर्न x[(np.ological_and(*b))]b फ़ंक्शन किसी दिए गए कॉलम और ऑपरेटर के लिए एक बूलियन स्थिति बनाता है, जबकि f एक डेटाफ़्रेम या श्रृंखला में कई बूलियन शर्तें लागू करता है।def b(x, col, op, n):
return op(x[col], n)
def f(x, *b):
return x[(np.logical_and(*b))]
इन कार्यों का उपयोग करने के लिए, हम फ़िल्टर मानदंड का एक शब्दकोश प्रदान कर सकते हैं:
फ़िल्टर = {'>=': [1], 'filters = {'>=': [1], 'यह कोड डेटाफ़्रेम डीएफ में 'col1' कॉलम पर फ़िल्टर लागू करता है और फ़िल्टर किए गए परिणामों के साथ एक नया डेटाफ़्रेम लौटाता है।b1 = b(df, 'col1', ge, 1)
b2 = b(df, 'col1', le, 1)
filtered_df = f(df, b1, b2)
पांडास 0.13 ने क्वेरी विधि पेश की, जो स्ट्रिंग अभिव्यक्तियों का उपयोग करके फ़िल्टर लागू करने का एक सुविधाजनक तरीका प्रदान करती है। मान्य कॉलम पहचानकर्ताओं के लिए, निम्नलिखित कोड संभव हो जाता है:
df.query('col1 यह लाइन हमारी तरह ही फ़िल्टरिंग प्राप्त करती है अधिक संक्षिप्त सिंटैक्स का उपयोग करते हुए पिछला उदाहरण।df.query('col1
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3