np.max
के लिए सिर्फ एक उपनाम है np.amax
। यह फ़ंक्शन केवल एक इनपुट एरे पर काम करता है और उस पूरे एरे में अधिकतम तत्व का मान पाता है (स्केलर को वापस लौटाता है)। वैकल्पिक रूप से, यह एक axis
तर्क लेता है और इनपुट सरणी के एक अक्ष के साथ अधिकतम मान प्राप्त करेगा (एक नया सरणी लौटाता है)।
>>> a = np.array([[0, 1, 6],
[2, 4, 1]])
>>> np.max(a)
6
>>> np.max(a, axis=0) # max of each column
array([2, 4, 6])
का डिफ़ॉल्ट व्यवहार दो सरणियों np.maximum
को लेना और उनके तत्व-वार अधिकतम की गणना करना है। यहाँ, 'संगत' का अर्थ है कि एक सरणी को दूसरे में प्रसारित किया जा सकता है। उदाहरण के लिए:
>>> b = np.array([3, 6, 1])
>>> c = np.array([4, 2, 9])
>>> np.maximum(b, c)
array([4, 6, 9])
लेकिन np.maximum
एक सार्वभौमिक कार्य भी है जिसका अर्थ है कि इसमें अन्य विशेषताएं और विधियां हैं जो बहुआयामी सरणियों के साथ काम करते समय उपयोगी होती हैं। उदाहरण के लिए आप किसी सरणी पर (या सरणी का एक विशेष अक्ष) अधिकतम संचयी की गणना कर सकते हैं:
>>> d = np.array([2, 0, 3, -4, -2, 7, 9])
>>> np.maximum.accumulate(d)
array([2, 2, 3, 3, 3, 7, 9])
यह संभव नहीं है np.max
।
उपयोग करते समय आप कुछ हद तक np.maximum
नकल कर सकते हैं :np.max
np.maximum.reduce
>>> np.maximum.reduce(d)
9
>>> np.max(d)
9
बुनियादी परीक्षण से पता चलता है कि दो दृष्टिकोण प्रदर्शन में तुलनीय हैं; और वे np.max()
वास्तवnp.maximum.reduce
में गणना करने के लिए कहते हैं ।
amax
ही (मूल) उद्देश्य के लिए उपयोग कर सकते हैंmaximum
, यानीnumpy.amax([a1, a2], axis=0)
--- के साथ, लेकिन क्या यह इस व्यवहार के लिए अनुकूलित नहीं हैnumpy.maximum
? इसी प्रकार, जोड़े गए निकेटीज़numpy.amax
(जैसेaxis
पैरामीटर) इसे होने से रोकता हैufunc
?