我从步行者那里采取了步骤,并且每一步都增加了压力。我想确定每个步骤的开始和停止以及它发生的时间。到目前为止,这段代码非常有效,可以确定压力何时上升或下降到一个阈值以下(脚下降和抬起)。现在我在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(为第一步结束)。并且,对于后续步骤的开始和停止。
提前致谢, 斯科特
答案 0 :(得分:0)
以下内容将为您提供变更点的索引:
ind = np.where(np.diff(above_threshold))[0] + 1
如果您想将这些索引分成对,则可以执行类似
的操作np.vstack((ind[::2], ind[1::2])).T