过滤列中的行方式模式

时间:2015-02-03 18:44:57

标签: python pandas

这是this question问题的后续问题。我打开了另一个问题,因为另一个问题是3个月大并且回答了。

出于这个df

sensor               A  B  C  D  E  F
date
2011-11-02 19:22:32  0  0  0  0  1  0
2011-11-02 19:29:18  0  0  1  0  0  0
2011-11-02 19:29:30  0  0  1  0  0  0
2011-11-02 19:29:34  0  0  1  0  0  0
2011-11-02 19:29:35  0  0  0  0  0  0
2011-11-02 19:30:06  0  0  0  0  0  0
2011-11-02 19:30:10  0  0  0  0  0  0
2011-11-02 19:30:46  0  0  0  0  1  0
2011-11-02 19:31:25  0  0  1  0  1  0
2011-11-02 19:31:26  0  0  1  0  0  0
2011-11-02 19:31:31  0  0  1  1  0  0
2011-11-02 19:31:41  0  0  0  1  0  0

我想构建一个df,其中包含其中一个传感器(A,B,C)处于活动状态的每个周期的开始和结束日期(即值== 1)。

与另一个问题相比,当传感器的值返回0时,传感器不会处于非活动状态。它会一直处于活动状态,直到另一个传感器值在自身切换为0后切换为1。

所以在上面的例子中,C从19:29:18到19:30:46处于活动状态(当D变为活动状态时)。

结果应如下所示:

df        start                   end                sensor
0     2011-11-02 19:29:18   2011-11-02 19:30:46        C
1     2011-11-02 19:31:25   2011-11-02 19:31:31        C
....

我可以通过数据本身的循环,或通过answer of the old question获得的字典上的循环来完成此操作,但我想知道是否有更好/更快的解决方案与pandas。

0 个答案:

没有答案