Tengo una bomba de circulación que verifico si está encendida o apagada y esto no es por intervalos fijos nunca más. Para un solo día, podría darme un conjunto de datos como este, donde "valor" representa que la bomba está encendida o apagada.Cómo calcular el tiempo de ejecución desde el estado y la hora usando python
data=(
{'value': 0, 'time': datetime.datetime(2011, 1, 18, 7, 58, 25)},
{'value': 1, 'time': datetime.datetime(2011, 1, 18, 8, 0, 3)},
{'value': 0, 'time': datetime.datetime(2011, 1, 18, 8, 32, 10)},
{'value': 0, 'time': datetime.datetime(2011, 1, 18, 9, 22, 7)},
{'value': 1, 'time': datetime.datetime(2011, 1, 18, 9, 30, 58)},
{'value': 1, 'time': datetime.datetime(2011, 1, 18, 12, 2, 23)},
{'value': 0, 'time': datetime.datetime(2011, 1, 18, 15, 43, 11)},
{'value': 1, 'time': datetime.datetime(2011, 1, 18, 20, 14, 55)})
El formato no es tan importante y se puede cambiar.
Lo que sí quiero saber es cómo calcular cuántos minutos (o intervalo de tiempo o lo que sea) el 'value'
ha sido 0 o 1 (¿ON u OFF)?
Esto es solo una pequeña muestra de los datos, se extiende durante varios años por lo que podría haber muchos. He estado usando numpy/mathplotlib para trazar algunos gráficos y podría haber algo en numpy para hacer esto pero no soy lo suficientemente bueno en eso.
Editar
Lo que me gustaría ver como una salida a esta sería una suma del tiempo en los diferentes estados. Algo así como ...
0 04:42:13
1 07:34:17
Fue apagado el 2011-01-18 07:58:25 y encendido el 18-01-2011 08:00:03. Pero, ¿cuál era su estado entre estos dos instantes? – eumiro
el valor siempre es lo que dice la entrada hasta que cambie. Entonces, para estos dos fue 0 hasta las 8:00:03 después de que fueron 1 hasta las 8:32:10 y luego se apagaron nuevamente ... – kmpm
¿son estas sumas reales? o es solo un ejemplo? – SilentGhost