有没有快速的方法来计算python数组中后续对中两个元素之间的差异?例如,请考虑x
:
x = np.array([1,5,3,8])
如何从x计算后续对之间的差异?我想要的输出是:
np.array([4,5])
答案 0 :(得分:2)
你可以在2的步幅切片并减去:
>>> x[1::2] - x[::2]
array([4, 5])
另一个解决方案是重塑并致电np.diff
:
>>> np.diff(x.reshape(-1, 2), axis=1).ravel()
array([4, 5])
适用于任何N * M
数组的广义版本看起来像这样 -
r = np.diff(x.reshape(-1, 2), axis=1).reshape(-1, x.shape[1] // 2)