2012-05-26 21 views
0

我从步行者处获取了步骤,并为每个步骤增加了压力。我想确定每个步骤的开始和停止以及它发生的时间。此代码迄今为止确定压力升高或降低到阈值以下的程度(脚踏和升降)。现在我在上述阈值数组中有true/false状态。Python中的索引状态更改nparray

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

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

我是新来的Python,和我想知道是否有建立一个新的阵列,告诉我从错误的状态变化为true(对于第一步开始),那么当指数的有效途径真到假(第一步结束)。并且,为下一步的开始和结束。

由于提前, 斯科特

+0

我仍然对你正在尝试做什么以及你的数据集是什么样子感到困惑。 –

+0

我应该提到我需要每个步骤开始时和每个步骤结束时的索引(相当于时间)。提供的代码Aix运行良好。尽管如此,还是有其他想法 – Scott

回答

0

下面将为你的变化点的指数:

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

然后,如果您希望将这些指标分成对,你可以做类似

np.vstack((ind[::2], ind[1::2])).T 
+0

谢谢艾克斯!这真的很好。将它们配对成一个数组也是我想要的。你最懂我心。 – Scott