NumPy 1.14 - numpy.apply_over_axes()

numpy.apply_over_axes




numpy

numpy.apply_over_axes

numpy.apply_over_axes(func, a, axes) [source]

कई अक्षों पर बार-बार एक फ़ंक्शन लागू करें।

func को res = func(a, axis) कहा जाता है, जहां axis का पहला तत्व है। फ़ंक्शन कॉल के परिणामस्वरूप परिणाम में या तो एक ही आयाम या एक कम आयाम होना चाहिए। यदि res में एक से कम आयाम हैं, तो axis से पहले डाला जाता axisfunc को कॉल फिर axes में प्रत्येक अक्ष के लिए दोहराया जाता है, पहले तर्क के रूप में res साथ।

पैरामीटर:

func : फ़ंक्शन

इस फ़ंक्शन को दो तर्क, func(a, axis) लेना चाहिए।

a : array_like

इनपुट सरणी

कुल्हाड़ियों : array_like

धुरी जिस पर लागू किया जाता है; तत्वों को पूर्णांक होना चाहिए।

यह दिखाता है:

apply_over_axis : ndarray

आउटपुट सरणी। आयामों की संख्या एक के समान a , लेकिन आकार अलग हो सकता है। यह इस बात पर निर्भर करता है कि क्या func अपने इनपुट के संबंध में अपने आउटपुट के आकार को बदलता है या नहीं।

यह भी देखें

apply_along_axis
दिए गए अक्ष के साथ एक सरणी के 1-डी स्लाइस पर एक फ़ंक्शन लागू करें।

टिप्पणियाँ

यह फ़ंक्शन टॉडल अक्ष तर्कों के बराबर है जो कि रिड्यूजेबल ufuncs के रखवाले = ट्रू के साथ हैं। 1.7.0 संस्करण के बाद से ufuncs के लिए ट्यूल अक्ष तर्क उपलब्ध हैं।

उदाहरण

>>> a = np.arange(24).reshape(2,3,4)
>>> a
array([[[ 0,  1,  2,  3],
        [ 4,  5,  6,  7],
        [ 8,  9, 10, 11]],
       [[12, 13, 14, 15],
        [16, 17, 18, 19],
        [20, 21, 22, 23]]])

कुल्हाड़ियों पर 0 और 2 पर योग। परिणाम में मूल सरणी के समान आयाम होते हैं:

>>> np.apply_over_axes(np.sum, a, [0,2])
array([[[ 60],
        [ 92],
        [124]]])

टफ़ल अक्ष तर्क ufuncs के बराबर हैं:

>>> np.sum(a, axis=(0,2), keepdims=True)
array([[[ 60],
        [ 92],
        [124]]])