2017-02-10 63 views
1

我都存储在一个变量,x,它看起来像以下np.array如何从前一行中减去?

array([[ 956], 
     [ 929], 
     [1083], 
     [1074], 
     [ 922]] 

我想从以前的数减去每一个数字,我希望有一个新的变量,y,看起来象下面这样:

array([[ -27], 
     [ 154], 
     [ -9], 
     [-152]] 
+3

直视'np.diff' –

+0

@PaulPanzer他有名单,他首先要扁平化的列表。 –

+3

@TonyTannous上次我检查diff有一个'axis'参数。此外,它不是列表列表,它是一个二维数组:-P –

回答

2
import numpy as np 

x = np.array([[ 956], 
     [ 929], 
     [1083], 
     [1074], 
     [ 922]] 

out = np.diff(out, axis=0) 

Out: array([[ -27], 
    [ 154], 
    [ -9], 
    [-152]] 
+1

或'np.diff(a,axis = 0)'(在这种情况下,您不需要'hstack'和'L') –

+0

@ tobias_k感谢您指出。 –

+1

当你使用'axis'参数时,你不需要做'hstack'和'L = ...'理解。只需'np.diff(x,axis = 0)'而没有别的。请参阅[文档](https://docs.scipy.org/doc/numpy/reference/generated/numpy.diff.html) –

相关问题