numpy中的移位数组减法

时间:2018-02-13 08:32:10

标签: python arrays numpy

我有两个数组

TimerObservable

我需要从B中减去A,但不是以正常方式减去A.我需要减去 A的第0个元素来自B的第4个元素,A的第1个元素来自B的第5个元素,即A = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9]) B = np.array([6, 7, 8, 9, 1, 2, 3, 4, 5]) ,依此类推。简而言之,我需要将A的元素移动4个索引并从B中减去并包围差异。在python中有一个简单的方法吗?

2 个答案:

答案 0 :(得分:2)

您可以使用numpy.roll

numpy.roll(B, -4) - A

如果您不需要环绕,可以使用以下内容:

>>> B[4:] - A[:-4]
array([0, 0, 0, 0, 0])

答案 1 :(得分:0)

如果将数组转换为pandas系列,则可以使用shift() method.