I need to perform some calculations on consecutive columns in a 2D array, for simplicity's sake, let's say substruction.

I currently do this in the following way:

```
c = np.array([(a[i, j + 1] - a[i, j]) for j in range(a.shape[1] - 1) for i in range(a.shape[0])]).reshape(a.shape[0], a.shape[1] - 1)

```

But I suspect there must be a better way using NumPy's vector operations without iteration over 2 values and a reshape.