numpy.diff(a, n=1,axis=-1)
沿着指定軸計算第N維的離散差值
參數:
a:輸入矩陣
n:可選,代表要執行幾次差值
axis:默認是最後一個
In [21]:a = np.random.randint(0,9,(3,4))
In [22]: a
Out[22]:
array([[6, 4, 6, 5],
[0, 4, 6, 1],
[7, 2, 5, 0]])
In [23]: a[0,:]
Out[23]: array([6, 4, 6, 5])
In [24]: a[-1,:]
Out[24]: array([7, 2, 5, 0])
In [25]: m = a[0,:]-a[-1,:]
In [26]: n = np.diff(a,n=1,axis=0)
In [27]: m
Out[27]: array([-1, 2, 1, 5])
In [28]: n
Out[28]:
array([[-6, 0, 0, -4],
[ 7, -2, -1, -1]])
In [30]: v = np.vstack((n,m))
In [31]: v
Out[31]:
array([[-6, 0, 0, -4],
[ 7, -2, -1, -1],
[-1, 2, 1, 5]])
In [32]: n1 = np.diff(a,n=2,axis=0)
In [34]: n
Out[34]:
array([[-6, 0, 0, -4],
[ 7, -2, -1, -1]])
In [35]: n1
Out[35]: array([[13, -2, -1, 3]])