Python - Llenar Dataframe en función de un tiempo de duración

 
Vista:
sin imagen de perfil
Val: 2
Ha disminuido su posición en 19 puestos en Python (en relación al último mes)
Gráfica de Python

Llenar Dataframe en función de un tiempo de duración

Publicado por Daniel (1 intervención) el 07/11/2020 18:16:08
Tengo el siguiente conjunto de datos:

Bitácora Dia Inicio Hora Inicio Duración de Recorrido
----------------------------------------------------------
A22FRG4 1 16:00:00 40
BW45345 1 04:00:00 12
EVRT234 2 22:00:00 4
WD47832 2 12:00:00 3
4CV45466 3 07:00:00 10


Tengo el siguiente conjunto de datos:

Bitácora Dia Inicio Hora Inicio Duración de Recorrido
----------------------------------------------------------
A22FRG4 1 16:00:00 40
BW45345 1 04:00:00 12
EVRT234 2 22:00:00 4
WD47832 2 12:00:00 3
4CV45466 3 07:00:00 10
Lo que se requiero es una función en Python que me genere un nuevo Dataframe donde las filas son las horas y las columnas son los días. Para el registro de datos en este nuevo Dataframe se toma la Duración de Recorrido de la Bitácora partiendo desde el Día de Inicio y Hora de Inicio; por ejemplo, la Bitácora A22FRG4 tiene un tiempo de duración de 40 horas y su Hora de Inicio fue a las 16 horas del Día 1, entonces está bitácora se debe contar 40 veces, partiendo la suma desde la hora 16 y terminando el conteo (40) al 3er dia a las 6 horas. A este nuevo Dataframe se le debe sumar la duración de las otras Bitácoras con la misma lógica del ejemplo anterior, partiendo del Dia y su Hora de Inicio, como es el caso de la 2da Bitácora (BW45345) que coincide su cierre de duración justo a las 16 horas con el inicio de la 1era Bitácora A22FRG4, dando como resultado la presencia de 2 Bitácoras a las 16 horas.

El resultado que requiero seria lo siguiente:

Hora/Día 1 2 3
---------------------
0 0 2 2
1 0 2 2
2 0 1 1
3 0 1 1
4 1 1 1
5 1 1 1
6 1 1 1
7 1 1 2
8 1 1 1
9 1 1 1
10 1 1 1
11 1 1 1
12 1 2 1
13 1 2 1
14 1 2 1
15 1 2 1
16 2 1 1
17 1 1 0
18 1 1 0
19 1 1 0
20 1 1 0
21 1 1 0
22 1 2 0
23 1 2 0
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder