NumPy 1.14 - numpy.diff()

numpy.diff




numpy

numpy.diff

numpy.diff(a, n=1, axis=-1) [source]

दिए गए अक्ष के साथ n-वें असतत अंतर की गणना करें।

पहला अंतर out[n] = a[n+1] - a[n] द्वारा दिया गया out[n] = a[n+1] - a[n] दिए गए अक्ष के साथ, उच्च अंतर की गणना अलग-अलग पुनरावर्ती उपयोग करके की जाती है।

पैरामीटर:

a : array_like

इनपुट सरणी

n : int, वैकल्पिक

समय मानों की संख्या में अंतर होता है। यदि शून्य है, तो इनपुट वापस-जैसा है।

अक्ष : int, वैकल्पिक

वह अक्ष जिसके साथ अंतर लिया जाता है, डिफ़ॉल्ट अंतिम अक्ष है।

यह दिखाता है:

विसार : ndarray

एन-वें अंतर। आउटपुट का आकार axis को छोड़कर a समान axis जहां आयाम n से छोटा है। आउटपुट का प्रकार किसी भी दो तत्वों के बीच अंतर के प्रकार के समान a । यह ज्यादातर मामलों में a के प्रकार के समान है। एक उल्लेखनीय अपवाद timedelta64 , जिसके परिणामस्वरूप timedelta64 आउटपुट सरणी है।

यह भी देखें

gradient , ediff1d , ediff1d

टिप्पणियाँ

प्रकार बूलियन सरणियों के लिए संरक्षित है, इसलिए जब परिणाम अलग-अलग होते हैं, तो परिणाम False होंगे और जब वे भिन्न होते हैं तो यह True होता है।

अहस्ताक्षरित पूर्णांक सरणियों के लिए, परिणाम भी अहस्ताक्षरित होंगे। यह आश्चर्यजनक नहीं होना चाहिए, क्योंकि परिणाम सीधे अंतर की गणना के अनुरूप है:

>>> u8_arr = np.array([1, 0], dtype=np.uint8)
>>> np.diff(u8_arr)
array([255], dtype=uint8)
>>> u8_arr[1,...] - u8_arr[0,...]
array(255, np.uint8)

यदि यह वांछनीय नहीं है, तो सरणी को पहले एक बड़े पूर्णांक प्रकार पर डाला जाना चाहिए:

>>> i16_arr = u8_arr.astype(np.int16)
>>> np.diff(i16_arr)
array([-1], dtype=int16)

उदाहरण

>>> x = np.array([1, 2, 4, 7, 0])
>>> np.diff(x)
array([ 1,  2,  3, -7])
>>> np.diff(x, n=2)
array([  1,   1, -10])
>>> x = np.array([[1, 3, 6, 10], [0, 5, 6, 8]])
>>> np.diff(x)
array([[2, 3, 4],
       [5, 1, 2]])
>>> np.diff(x, axis=0)
array([[-1,  2,  0, -2]])
>>> x = np.arange('1066-10-13', '1066-10-16', dtype=np.datetime64)
>>> np.diff(x)
array([1, 1], dtype='timedelta64[D]')