"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > एकाधिक स्थितियों के साथ पांडा डेटाफ़्रेम या श्रृंखला को कुशलतापूर्वक कैसे फ़िल्टर करें?

एकाधिक स्थितियों के साथ पांडा डेटाफ़्रेम या श्रृंखला को कुशलतापूर्वक कैसे फ़िल्टर करें?

2024-11-01 को प्रकाशित
ब्राउज़ करें:376

How to Efficiently Filter Pandas DataFrame or Series with Multiple Conditions?

पांडा डेटाफ़्रेम या श्रृंखला को कई शर्तों के साथ कुशलतापूर्वक फ़िल्टर करना

पांडा डेटा फ़िल्टर करने के लिए कई तरीके प्रदान करता है, जिसमें रीइंडेक्स(), अप्लाई(), और मैप() शामिल हैं। . हालाँकि, एकाधिक फ़िल्टर लागू करते समय, दक्षता एक चिंता का विषय बन जाती है।

अनुकूलित फ़िल्टरिंग के लिए, बूलियन इंडेक्सिंग का उपयोग करने पर विचार करें। पांडा और नम्पी दोनों बूलियन इंडेक्सिंग का समर्थन करते हैं, जो अनावश्यक प्रतियां बनाए बिना सीधे अंतर्निहित डेटा सरणी पर काम करता है।

यहां बूलियन इंडेक्सिंग का एक उदाहरण दिया गया है:

df.loc[df['col1'] >= 1, 'col1']

यह अभिव्यक्ति एक पांडा श्रृंखला लौटाती है जिसमें केवल वे पंक्तियाँ होती हैं जहाँ कॉलम 'col1' में मान 1 से अधिक या उसके बराबर हैं।

To एकाधिक फ़िल्टर लागू करें, तार्किक ऑपरेटरों '&' (AND) और '|' का उपयोग करें (या)। उदाहरण के लिए:

df[(df['col1'] >= 1) & (df['col1'] <=1 )]

यह अभिव्यक्ति एक डेटाफ़्रेम लौटाती है जिसमें केवल वे पंक्तियाँ होती हैं जहाँ कॉलम 'col1' में मान 1 और 1 के बीच होते हैं।

के लिए सहायक फ़ंक्शंस, उन फ़ंक्शंस को परिभाषित करने पर विचार करें जो डेटाफ़्रेम लेते हैं और एक बूलियन श्रृंखला लौटाते हैं, जिससे आप तार्किक ऑपरेटरों का उपयोग करके कई फ़िल्टर को संयोजित कर सकते हैं।

def b(x, col, op, n):
    return op(x[col],n)

def f(x, *b):
    return x[(np.logical_and(*b))]

पांडास 0.13 क्वेरी() विधि का परिचय देता है, जो जटिल फ़िल्टरिंग स्थितियों को व्यक्त करने का एक अधिक कुशल तरीका प्रदान करता है। मान्य कॉलम पहचानकर्ताओं को मानते हुए, निम्नलिखित कोड कई स्थितियों के आधार पर डेटाफ़्रेम डीएफ को फ़िल्टर करता है:

df.query('col1 <= 1 & 1 <= col1')

संक्षेप में, बूलियन इंडेक्सिंग अनावश्यक प्रतियां बनाए बिना पांडा डेटाफ़्रेम या श्रृंखला में एकाधिक फ़िल्टर लागू करने के लिए एक कुशल विधि प्रदान करता है। विस्तारित कार्यक्षमता के लिए एकाधिक फ़िल्टर को संयोजित करने के लिए तार्किक ऑपरेटरों और सहायक फ़ंक्शंस का उपयोग करें।

विज्ञप्ति वक्तव्य यह लेख यहां पुनर्मुद्रित है: 1729394837 यदि कोई उल्लंघन है, तो कृपया इसे हटाने के लिए स्टडी_गोलंग@163.कॉम से संपर्क करें।
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3