Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

पायथन में N-डायमेंशनल ऐरे का ग्रेडिएंट एक्सिस 0 पर लौटाएं


ग्रेडिएंट की गणना इंटीरियर पॉइंट्स में सेकंड ऑर्डर एक्यूरेट सेंट्रल डिफरेंसेस का उपयोग करके की जाती है और बाउंड्रीज पर फर्स्ट या सेकंड ऑर्डर एक्यूरेट वन-साइडेड (फॉरवर्ड या बैकवर्ड) डिफरेंसेस का उपयोग करके। लौटाया गया ग्रेडिएंट इसलिए इनपुट ऐरे के समान आकार का होता है। पहला पैरामीटर f एक N-डायमेंशनल ऐरे है जिसमें स्केलर फंक्शन के सैंपल्स होते हैं। दूसरा पैरामीटर varargs होता है यानी f मानों के बीच स्पेसिंग। सभी डायमेंशन के लिए डिफ़ॉल्ट यूनिटरी स्पेसिंग।

तीसरा पैरामीटर edge_order{1, 2} होता है यानी ग्रेडिएंट की गणना बाउंड्रीज पर N-th ऑर्डर एक्यूरेट डिफरेंसेस का उपयोग करके की जाती है। डिफ़ॉल्ट: 1। चौथा पैरामीटर ग्रेडिएंट होता है, जिसकी गणना केवल दिए गए एक्सिस या एक्सेस के साथ की जाती है। डिफ़ॉल्ट (axis=None) इनपुट ऐरे के सभी एक्सेस के लिए ग्रेडिएंट की गणना करना है। axis नेगेटिव हो सकता है, जिस स्थिति में यह अंतिम से पहले एक्सिस की ओर गिनता है। मेथड ndarrays की सूची लौटाता है जो f के प्रत्येक डायमेंशन के सापेक्ष डेरिवेटिव्स से मेल खाते हैं। प्रत्येक डेरिवेटिव का आकार f के समान होता है।

चरण

सबसे पहले, आवश्यक लाइब्रेरी इम्पोर्ट करें:

import numpy as np

array() मेथड का उपयोग करके नम्पी ऐरे बनाएं। हमने फ्लोट टाइप के एलिमेंट्स जोड़े हैं:

arr = np.array([[20, 35, 57], [70, 85, 120]], dtype=float)

ऐरे प्रदर्शित करें:

print("हमारा ऐरे...\n", arr)

डायमेंशन जांचें:

print("\nहमारे ऐरे के डायमेंशन...\n", arr.ndim)

डेटाटाइप प्राप्त करें:

print("\nहमारे ऐरे ऑब्जेक्ट का डेटाटाइप...\n", arr.dtype)

ग्रेडिएंट की गणना इंटीरियर पॉइंट्स में सेकंड ऑर्डर एक्यूरेट सेंट्रल डिफरेंसेस का उपयोग करके की जाती है और बाउंड्रीज पर फर्स्ट या सेकंड ऑर्डर एक्यूरेट वन-साइडेड (फॉरवर्ड या बैकवर्ड) डिफरेंसेस का उपयोग करके। लौटाया गया ग्रेडिएंट इसलिए इनपुट ऐरे के समान आकार का होता है:

print("\nपरिणाम (ग्रेडिएंट)...\n", np.gradient(arr, axis=0))

उदाहरण

import numpy as np
# array() मेथड का उपयोग करके नम्पी ऐरे बनाएं
# हमने फ्लोट टाइप के एलिमेंट्स जोड़े हैं
arr = np.array([[20, 35, 57], [70, 85, 120]], dtype=float)

# ऐरे प्रदर्शित करें
print("हमारा ऐरे...\n", arr)

# डायमेंशन जांचें
print("\nहमारे ऐरे के डायमेंशन...\n", arr.ndim)

# डेटाटाइप प्राप्त करें
print("\nहमारे ऐरे ऑब्जेक्ट का डेटाटाइप...\n", arr.dtype)

# ग्रेडिएंट की गणना इंटीरियर पॉइंट्स में सेकंड ऑर्डर एक्यूरेट सेंट्रल डिफरेंसेस का उपयोग करके की जाती है और बाउंड्रीज पर फर्स्ट या सेकंड ऑर्डर एक्यूरेट वन-साइडेड (फॉरवर्ड या बैकवर्ड) डिफरेंसेस का उपयोग करके। लौटाया गया ग्रेडिएंट इसलिए इनपुट ऐरे के समान आकार का होता है।
print("\nपरिणाम (ग्रेडिएंट)...\n", np.gradient(arr, axis=0))

आउटपुट

हमारा ऐरे... [[ 20. 35. 57.] [ 70. 85. 120.]]
हमारे ऐरे के डायमेंशन... 2
हमारे ऐरे ऑब्जेक्ट का डेटाटाइप... float64
परिणाम (ग्रेडिएंट)... [[50. 50. 63.] [50. 50. 63.]]

  1. - पायथन में अक्ष 1 पर NaN को शून्य मानकर सरणी तत्वों का संचयी योग लौटाना

    दिए गए अक्ष पर सरणी तत्वों का संचयी योग लौटाने के लिए, NaN को शून्य मानकर nancumsum() विधि का उपयोग करें। जब NaN का सामना होता है तो संचयी योग नहीं बदलता और अग्रणी NaN को शून्य से बदल दिया जाता है। उन स्लाइस के लिए शून्य लौटाए जाते हैं जो सभी NaN हैं या खाली हैं। यह विधि परिणाम रखने वाली एक नई सरणी

  1. - पायथन में अक्ष 0 पर NaN को शून्य मानकर सरणी तत्वों का संचयी योग लौटाना

    दिए गए अक्ष पर सरणी तत्वों का संचयी योग लौटाने के लिए, NaN को शून्य मानकर nancumsum() विधि का उपयोग करें। जब NaN का सामना होता है तो संचयी योग नहीं बदलता और अग्रणी NaN को शून्य से बदल दिया जाता है। उन स्लाइस के लिए शून्य लौटाए जाते हैं जो सभी NaN हैं या खाली हैं। संचयी कार्य इस तरह करता है: 5, 5+10,

  1. - पायथन में एक्सिस 0 पर n-th डिस्क्रीट डिफरेंस की गणना करें

    n-th डिस्क्रीट डिफरेंस की गणना करने के लिए numpy.diff() मेथड का उपयोग करें। पहला डिफरेंस दिए गए एक्सिस के साथ out[i] = a[i+1] - a[i] द्वारा दिया जाता है, उच्च डिफरेंस की गणना diff को रिकर्सिवली उपयोग करके की जाती है। diff() मेथड n-th डिफरेंस लौटाता है। आउटपुट का आकार a के समान होता है सिवाय एक्सिस