向量化减去下一个元素并添加前一个元素的 numpy 一维数组函数?
Vectorize numpy 1D array function that substracts the next element and adds the previous?
我有一个简单的一维 numpy 数组,如下所示:
np.array([2,1,3,5,1])
如何矢量化一个函数,该函数对于每个元素都减去下一个元素并添加前一个元素?在上面的例子中,我期望 returns:
[?, 1-3+2, 3-5+1, 5-1+3, ?]
=[?, 0, -1, 7, ?]
,在哪里?意味着我不关心元素的值。此操作将 运行 在具有 100 万个元素(类型 double)的一维 np.array 中。
正如评论中所建议的那样,切片将满足您的需要:
a=np.array([2,1,3,5,1])
print(a[1:-1]+a[:-2]-a[2:])
结果将是包含您关心的值的数组 [0,-1,7]。
我有一个简单的一维 numpy 数组,如下所示:
np.array([2,1,3,5,1])
如何矢量化一个函数,该函数对于每个元素都减去下一个元素并添加前一个元素?在上面的例子中,我期望 returns:
[?, 1-3+2, 3-5+1, 5-1+3, ?]
=[?, 0, -1, 7, ?]
,在哪里?意味着我不关心元素的值。此操作将 运行 在具有 100 万个元素(类型 double)的一维 np.array 中。
正如评论中所建议的那样,切片将满足您的需要:
a=np.array([2,1,3,5,1])
print(a[1:-1]+a[:-2]-a[2:])
结果将是包含您关心的值的数组 [0,-1,7]。