NumPy 1.14 - numpy.partition()

numpy.partition




numpy

numpy.partition

numpy.partition(a, kth, axis=-1, kind='introselect', order=None) [source]

एक सरणी की एक विभाजित प्रतिलिपि लौटाएँ।

अपने तत्वों के साथ सरणी की एक प्रति इस तरह से तैयार की गई है कि k-th स्थिति में तत्व का मूल्य उस स्थिति में है जो एक क्रमबद्ध सरणी में होगा। के-थ तत्व से छोटे सभी तत्वों को इस तत्व से पहले ले जाया जाता है और सभी समान या उससे अधिक को इसके पीछे ले जाया जाता है। दो विभाजनों में तत्वों का क्रम अपरिभाषित है।

संस्करण 1.8.0 में नया।

पैरामीटर:

a : array_like

क्रमबद्ध किया जाना है।

kth : ints का इंट या सीक्वेंस

द्वारा विभाजित करने के लिए तत्व सूचकांक। तत्व का k- वें मान अपनी अंतिम क्रमबद्ध स्थिति में होगा और सभी छोटे तत्वों को इससे पहले ले जाया जाएगा और इसके साथ सभी समान या अधिक तत्व। विभाजन में सभी तत्व अपरिभाषित हैं। यदि k-th के अनुक्रम के साथ प्रदान किया जाता है तो यह k-th द्वारा अनुक्रमित सभी तत्वों को एक ही बार में उनकी क्रमबद्ध स्थिति में विभाजित कर देगा।

अक्ष : int या कोई नहीं, वैकल्पिक

एक्सिस जिसके साथ छांटना है। यदि कोई नहीं है, तो सरणी को छँटाई से पहले चपटा किया जाता है। डिफ़ॉल्ट -1 है, जो अंतिम अक्ष के साथ-साथ है।

तरह : {'introselect'}, वैकल्पिक

चयन एल्गोरिथ्म। डिफ़ॉल्ट 'इंट्रोसेन्ट' है।

आदेश : str या str, वैकल्पिक की सूची

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

यह दिखाता है:

parted_array: ndarray

एक ही प्रकार की आकृति और a रूप में आकार।

यह भी देखें

ndarray.partition
किसी सरणी में जगह छाँटने की विधि।
argpartition
अप्रत्यक्ष विभाजन।
sort
पूरी छँटाई

टिप्पणियाँ

विभिन्न चयन एल्गोरिदम उनकी औसत गति, सबसे खराब स्थिति प्रदर्शन, कार्य स्थान आकार और चाहे वे स्थिर हों, की विशेषता है। एक स्थिर क्रम समान कुंजी क्रम में समान कुंजी के साथ आइटम रखता है। उपलब्ध एल्गोरिदम में निम्नलिखित गुण हैं:

मेहरबान गति सबसे खराब मामला कार्य स्थान स्थिर
'Introselect' 1 पर) 0 नहीं

सभी विभाजन एल्गोरिदम किसी भी लेकिन अंतिम अक्ष के साथ विभाजन करते समय डेटा की अस्थायी प्रतियां बनाते हैं। नतीजतन, अंतिम अक्ष के साथ विभाजन तेज होता है और किसी अन्य अक्ष के साथ विभाजन की तुलना में कम जगह का उपयोग करता है।

जटिल संख्याओं के लिए क्रमबद्ध क्रम लेक्सोग्राफिक है। यदि वास्तविक और काल्पनिक दोनों भाग गैर-नैन हैं तो आदेश वास्तविक भागों द्वारा निर्धारित किया जाता है सिवाय जब वे समान होते हैं, तो जिस स्थिति में आदेश काल्पनिक भागों द्वारा निर्धारित किया जाता है।

उदाहरण

>>> a = np.array([3, 4, 2, 1])
>>> np.partition(a, 3)
array([2, 1, 3, 4])
>>> np.partition(a, (1, 3))
array([1, 2, 3, 4])