2017-02-22 54 views
0

所以我試圖找到行數據表明傷亡的數據 - 在這種情況下,數據集標識了一個報警信號,然後導致數據集中的1和1之間的錯誤信號14天后。df.loc - 根據條件編輯多行

是否可以創建「故障」列,從而一旦檢測到報警信號,「故障」列在接下來的14天內設置爲True? df.loc嘗試工作,但只會在相應的一天更改一行,而我希望能夠編輯相應日期和剩餘13天的解決方案!這樣我就可以根據報警信號的日期範圍檢查錯誤信號的日期,以確定故障是否實際發生。

例如。僞數據

time   vibration_value fault? 
2007-06-01  50     False 
2007-06-02  47     False 
2007-06-03  29     False 
2007-06-04  52     False 
2007-06-05  455    True 
2007-06-06  672    True 
2007-06-07  513    True 
2007-06-08  532    True 
2007-06-09  510    True 
2007-06-10  498    True 
2007-06-11  12     False 
2007-06-12  25     False 
2007-06-13  19     False 
2007-06-14  46     False 

我使用下面的代碼實現了第一個錯誤結果,但我不確定如何獲取它來編輯後續行。

df.loc[df['vibration_value'] >= 250, 'Fault'] = True 
+0

道歉,現在可以正確排序 – PenguinProgrammer

+0

所需的輸出是「斷層」欄仍然是正確的額外幾天,這樣我就可以交叉引用反了天了,當數據並不完全正確對齊如果 – PenguinProgrammer

+0

什麼'df ['vibration_value']> = 520',需要最後3天? – jezrael

回答

1

根據我對你的問題的理解,這應該工作。

df.ix[df['vibration_value'] >= 250, 'Fault'] = True