2012-05-26 26 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