python numpy数组减少元素间的距离

python numpy array reduction distance between elements

我在 python 中有一个这样的数组:

array([     18,      36,      54, ..., 9893804, 9893822, 9893840],
      dtype=int64)

我希望获得一个包含每个字节之间“距离”的数组...

在这种情况下,它将是: [18,18,18, ..., xxx, 18, 18]

为了做到这一点,我使用了一个丑陋的 for i in range(len(arr))

我怀疑有一种方法可以使用 np.flatnonzero(something) 我找不到.. 有什么线索吗?

np.diff(arr)怎么样?

arr = np.array(...)
print(np.diff(arr)) # [18 18 18 ... 18 18 18]