2017-02-22 118 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