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

NumPy सारणी में एक विशिष्ट पंक्ति खोजने के प्रभावी तरीके: प्रश्न और समाधान

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

Efficient Ways to Find a Specific Row in a NumPy Array: Questions and Solutions

NumPy सारणी में एक विशिष्ट पंक्ति के उदाहरण कुशलतापूर्वक ढूँढना

NumPy सारणी के साथ काम करते समय, किसी को यह निर्धारित करने की आवश्यकता का सामना करना पड़ सकता है कि क्या सरणी में एक विशिष्ट पंक्ति होती है, लेकिन ndarray के लिए मानक contains विधि प्रश्न उठाती है। यह आलेख इस समस्या के लिए कुशल और पायथोनिक समाधान प्रस्तुत करता है। .array([[1,2],[10,20],[100,200]]) [1,2] a.tolist() में # रिटर्न सही है [1,20] a.tolist() में # रिटर्न गलत है

एक अन्य विधि सरणी पर एक दृश्य का उपयोग करना है और प्रत्येक पंक्ति की तत्व-वार लक्ष्य पंक्ति के साथ तुलना करने के लिए .all(1) फ़ंक्शन को लागू करना है .

a = np.array([[1,2],[10,20],[100,200]])
[1,2] in a.tolist() # Returns True
[1,20] in a.tolist() # Returns False

इसके अतिरिक्त, कोई भी संभावित प्रदर्शन को बढ़ावा देने के लिए NumPy सूची तैयार कर सकता है। हालाँकि, यदि परिणाम जल्दी नहीं मिलता है तो यह दृष्टिकोण अप्रभावी हो सकता है।

any((a[:]==[1,2]).all(1)) # Returns True
any((a[:]==[1,20]).all(1)) # Returns False

अंत में, NumPy के तार्किक कार्य तुलना करने का एक संक्षिप्त तरीका प्रदान करते हैं।

any(([1,2] == x).all() for x in a) # Stops on first occurrence

बेंचमार्क परिणाम दर्शाते हैं कि सुन्न रूटीन हिट या मिस परिदृश्यों की परवाह किए बिना लगातार खोज गति बनाए रखता है। ऑपरेटर दृष्टिकोण में दृश्य, तर्क समान और पायथन दक्षता के मामले में तुलनीय हैं, जबकि पूर्ण सरणी खोजों के लिए NumPy पर जनरेटर की अनुशंसा नहीं की जाती है।

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

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

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

Copyright© 2022 湘ICP备2022001581号-3