Python ndarray中的索引状态更改

时间:2012-05-26 21:15:33

标签: python

我从步行者那里采取了步骤,并且每一步都增加了压力。我想确定每个步骤的开始和停止以及它发生的时间。到目前为止,这段代码非常有效,可以确定压力何时上升或下降到一个阈值以下(脚下降和抬起)。现在我在above_threshold数组中有真/假状态。

data = np.loadtxt('junk.csv',delimiter=',',skiprows=1)
Fz = data

sigma = 5                       
threshold = 30                  
above_threshold = gaussian_filter(Fz, sigma=sigma) > threshold

我是Python新手,我想知道是否有一种有效的方法来构建一个新数组,告诉我状态从false变为true(第一步开始),然后是true到false(为第一步结束)。并且,对于后续步骤的开始和停止。

提前致谢, 斯科特

1 个答案:

答案 0 :(得分:0)

以下内容将为您提供变更点的索引:

ind = np.where(np.diff(above_threshold))[0] + 1

如果您想将这些索引分成对,则可以执行类似

的操作
np.vstack((ind[::2], ind[1::2])).T