使用numpy处理顺序行对

使用numpy处理顺序行对,numpy,Numpy,我有一个(NxK)数组,我需要有效地计算顺序行对之间的差异,生成一个(N-1 x K)数组(即,其第一列中的元素将被计算为[I+1,0]-A[I,0])。是否可以不使用循环(这很明显),而是以更优雅的矢量化方式来实现这一点?谢谢。正是通过其参数轴来实现的: >>> a = np.array([[1,2,3],[4,5,6],[7,8,9]]) >>> np.diff(a, axis = 0) array([[3, 3, 3], [3, 3, 3]

我有一个(NxK)数组,我需要有效地计算顺序行对之间的差异,生成一个(N-1 x K)数组(即,其第一列中的元素将被计算为[I+1,0]-A[I,0])。是否可以不使用循环(这很明显),而是以更优雅的矢量化方式来实现这一点?谢谢。

正是通过其参数
轴来实现的:

>>> a = np.array([[1,2,3],[4,5,6],[7,8,9]])
>>> np.diff(a, axis = 0)
array([[3, 3, 3],
       [3, 3, 3]])
>>> np.diff(a, axis=1)
array([[1, 1],
       [1, 1],
       [1, 1]])
或使用切片:

a[1:,:] - a[:-1,:]

谢谢我知道这将是我在文档中错过的简单方便的东西:-)