改变值检测 numpy Python

Changing value detection numpy Python

如何制作一个 numpy 函数来检测值发生变化的索引? Sop,因为第一个数字是唯一的,所以它将包括那个,并且从索引 0 到 1,数字从 24 变为 27。因此它将以 0 作为第一个索引,依此类推。

import numpy as np

digit_vals = np.array([24, 27, 27, 27,
                       28, 28, 28, 31])

预期输出:

[0, 1, 4, 7]

你可以这样做:

np.where(np.diff(digit_vals, prepend=np.nan)) 

这里发生的是您首先使用 np.diff。它的参数如下:1) 一个数组,你的 digit_vals,和 2) prepend = np.nan。最后一个只是在执行差异之前将哪些值附加到 digit_vals 沿轴。

np.where() return 出现差异的位置。