NumPy 1.14 - numpy.result_type()

numpy.result_type




numpy

numpy.result_type

numpy.result_type(*arrays_and_dtypes)

उस प्रकार को लौटाता है जिसके परिणामस्वरूप NumPy प्रकार पदोन्नति नियमों को तर्कों पर लागू किया जाता है।

NumPy में टाइप प्रमोशन कुछ मामूली अंतर के साथ C ++ जैसी भाषाओं में नियमों के समान काम करता है। जब स्केलर और एरे दोनों का उपयोग किया जाता है, तो सरणी का प्रकार पूर्वता लेता है और स्केलर के वास्तविक मूल्य को ध्यान में रखा जाता है।

उदाहरण के लिए, 3 * ए की गणना, जहां एक 32-बिट फ्लोट की एक सरणी है, सहजता से 32-बिट फ्लोटिंग आउटपुट में परिणाम होना चाहिए। यदि 3 एक 32-बिट पूर्णांक है, तो NumPy नियम इंगित करते हैं कि यह दोषरहित रूप से 32-बिट फ़्लोट में परिवर्तित नहीं हो सकता है, इसलिए 64-बिट फ़्लोट परिणाम प्रकार होना चाहिए। स्थिरांक के मान की जांच करके, '3', हम देखते हैं कि यह 8-बिट पूर्णांक में फिट बैठता है, जिसे 32-बिट फ्लोट में दोषरहित रूप से डाला जा सकता है।

पैरामीटर:

arrays_and_dtypes : सरणियों और dtypes की सूची

कुछ ऑपरेशन के ऑपरेटर जिनके परिणाम प्रकार की आवश्यकता होती है।

यह दिखाता है:

बाहर : dtype

परिणाम प्रकार।

यह भी देखें

dtype , promote_types , min_scalar_type , can_cast

टिप्पणियाँ

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

विशिष्ट एल्गोरिथ्म का उपयोग निम्नानुसार है।

श्रेणियाँ पहले जाँच के द्वारा निर्धारित की जाती हैं कि कौन सी बूलियन, पूर्णांक (int / uint), या फ्लोटिंग पॉइंट (फ्लोट / कॉम्प्लेक्स) की अधिकतम सरणियाँ और स्केल हैं।

यदि केवल स्केलर हैं या promote_types की अधिकतम श्रेणी सरणियों की अधिकतम श्रेणी से अधिक है, तो रिटर्न मान का उत्पादन करने के लिए डेटा प्रकार को promote_types के साथ जोड़ा जाता है।

अन्यथा, प्रत्येक सरणी पर min_scalar_type को कॉल किया जाता है, और परिणामी डेटा प्रकारों को वापसी मूल्य का उत्पादन करने के लिए promote_types के साथ promote_types दिया जाता है।

इंट वैल्यू का सेट बिट्स की समान संख्या के साथ प्रकारों के लिए min_scalar_type मूल्यों का एक सबसेट नहीं है, कुछ min_scalar_type में परिलक्षित नहीं होता है, लेकिन result_type में एक विशेष मामले के रूप में नियंत्रित किया जाता है।

उदाहरण

>>> np.result_type(3, np.arange(7, dtype='i1'))
dtype('int8')
>>> np.result_type('i4', 'c8')
dtype('complex128')
>>> np.result_type(3.0, -2)
dtype('float64')