在numpy数组中沿特定维度减去的有效方法
efficient way of substracting along specific dimension in numpy array
我有一个 NumPy 数组 a
,大小为 (1000,100,2)。
我只想从第一个维度迭代的最后一个维度中减去值。
换句话说:
a[i+1,j,[x1,y1]]-a[i,j,[x0,y0]]
获取大小为(999,100,2)的数组b
最后一个维度包含:
[x1-x0, y1-y0] , etc...
我知道如何使用 for
循环来做到这一点,我正在寻找更高效的“numpyzed”版本
看起来你想要np.diff
a = np.random.rand(1000, 100, 2)
b = np.diff(a, axis = 0)
b.shape
Out[]: (999, 100, 2)
我有一个 NumPy 数组 a
,大小为 (1000,100,2)。
我只想从第一个维度迭代的最后一个维度中减去值。 换句话说:
a[i+1,j,[x1,y1]]-a[i,j,[x0,y0]]
获取大小为(999,100,2)的数组b
最后一个维度包含:
[x1-x0, y1-y0] , etc...
我知道如何使用 for
循环来做到这一点,我正在寻找更高效的“numpyzed”版本
看起来你想要np.diff
a = np.random.rand(1000, 100, 2)
b = np.diff(a, axis = 0)
b.shape
Out[]: (999, 100, 2)