विवरण
numpy.diff() फंक्शन n-वां असतत अंतर (discrete difference) गणना करता है। पहला अंतर out[i] = a[i+1] - a[i] होता है; उच्च-क्रम अंतर पुनरावर्ती रूप से गणना किए जाते हैं।
पैरामीटर्स
a- इनपुट ऐरेn- अंतर की संख्या (डिफ़ॉल्ट: 1)। शून्य होने पर इनपुट यथावत लौटाया जाता है।axis- वह अक्ष जिसके साथ अंतर लिया जाता है (डिफ़ॉल्ट: अंतिम)prepend, append- अंतर से पहले/बाद में जोड़ने के लिए मान
चरण
import numpy as np
# NaN के साथ नंपाई ऐरे बनाएं
arr = np.array([10, 15, 30, 65, 80, 87, np.nan])
print("हमारा ऐरे...\n", arr)
print("\nहमारे ऐरे के आयाम...\n", arr.ndim)
print("\nहमारे ऐरे ऑब्जेक्ट का डेटाटाइप...\n", arr.dtype)
# पहला असतत अंतर गणना करें
print("\nअसतत अंतर..\n", np.diff(arr))
पूर्ण उदाहरण
import numpy as np
# NaN के साथ ऐरे बनाएं
arr = np.array([10, 15, 30, 65, 80, 87, np.nan])
# ऐरे प्रदर्शित करें
print("हमारा ऐरे...\n", arr)
print("\nहमारे ऐरे के आयाम...\n", arr.ndim)
print("\nहमारे ऐरे ऑब्जेक्ट का डेटाटाइप...\n", arr.dtype)
# पहला असतत अंतर गणना करें
print("\nअसतत अंतर..\n", np.diff(arr))
आउटपुट
हमारा ऐरे...
[10. 15. 30. 65. 80. 87. nan]
हमारे ऐरे के आयाम...
1
हमारे ऐरे ऑब्जेक्ट का डेटाटाइप...
float64
असतत अंतर..
[ 5. 15. 35. 15. 7. nan]
उच्च-क्रम अंतर
arr = [1, 4, 9, 16, 25] # x²
np.diff(arr, n=1) # [3, 5, 7, 9] - पहला अंतर (2x+1)
np.diff(arr, n=2) # [2, 2, 2] - दूसरा अंतर (2)
np.diff(arr, n=3) # [0, 0] - तीसरा अंतर (0)
बहुआयामी ऐरे के साथ
arr2d = np.array([[1, 2, 4], [7, 11, 16]])
np.diff(arr2d, axis=0) # पंक्तियों के साथ: [[6, 9, 12]]
np.diff(arr2d, axis=1) # स्तंभों के साथ: [[1, 2], [4, 5]]
prepend और append
arr = [2, 4, 6]
np.diff(arr, prepend=0) # [2, 2, 2] - 0 से शुरू
np.diff(arr, append=10) # [2, 2, 4] - 10 पर समाप्त
np.diff(arr, prepend=0, append=10) # [2, 2, 2, 4]
NaN व्यवहार
- NaN वाले अंतर NaN उत्पन्न करते हैं
- NaN प्रसार मानक फ्लोटिंग-पॉइंट नियमों का पालन करता है
- NaN को अनदेखा करने के लिए, पहले
np.nan_to_num()या इंटरपोलेशन का उपयोग करें
अनुप्रयोग
- संख्यात्मक अवकलन (परिमित अंतर)
- समय श्रृंखला विश्लेषण (परिवर्तन दर)
- किनारा पहचान (छवि प्रसंस्करण)
- बहुपद डिग्री पहचान (स्थिर n-वें अंतर → डिग्री n)