标签: 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中有一个简单的方法吗?
A = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9]) B = np.array([6, 7, 8, 9, 1, 2, 3, 4, 5])
答案 0 :(得分:2)
您可以使用numpy.roll:
numpy.roll
numpy.roll(B, -4) - A
如果您不需要环绕,可以使用以下内容:
>>> B[4:] - A[:-4] array([0, 0, 0, 0, 0])
答案 1 :(得分:0)
如果将数组转换为pandas系列,则可以使用shift() method.