當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python dask.array.diff用法及代碼示例


用法:

dask.array.diff(a, n=1, axis=- 1, prepend=None, append=None)

計算沿給定軸的n-th 離散差。

此文檔字符串是從 numpy.diff 複製的。

可能存在與 Dask 版本的一些不一致之處。

第一個差異由out[i] = a[i+1] - a[i] 沿給定軸給出,更高的差異通過遞歸使用diff 計算。

參數

aarray_like

輸入數組

n整數,可選

值不同的次數。如果為零,則返回輸入as-is。

axis整數,可選

取差值的軸,默認為最後一個軸。

prepend, append數組,可選

在執行差異之前沿軸添加或附加到 a 的值。標量值在軸方向擴展為長度為 1 的數組,輸入數組的形狀沿所有其他軸擴展。否則,尺寸和形狀必須與 a 匹配,但沿軸除外。

返回

diffndarray

n-th 差異。輸出的形狀與 a 相同,但沿 axis 的尺寸比 n 小。輸出的類型與 a 的任意兩個元素之間的差異類型相同。在大多數情況下,這與a 的類型相同。一個值得注意的例外是 datetime64 ,它會導致 timedelta64 輸出數組。

注意

為布爾數組保留類型,因此當連續元素相同時,結果將包含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,...]  
255

如果這不是可取的,則應首先將數組轉換為更大的整數類型:

>>> 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]')

相關用法


注:本文由純淨天空篩選整理自dask.org大神的英文原創作品 dask.array.diff。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。