Interpretação de data e hora para cálculo de tempo de trabalho e intervalo

user_v27

Extraí os dados do csv e converti para o formato abaixo após a preparação dos dados com python. Eu quero me preparar mais como abaixo para armazená-lo como uma tabela no banco de dados.

Se observarmos a tabela abaixo, 8ª hora de 0 min a 52 min seu tempo de trabalho (Status: 1) da 8ª hora de 53min a 59min seu intervalo (intervalo para lanches) (Status: 2)

Como faço para convertê-lo.

Existing
+------+-------+------------+------+------+------+----------+--------+--------+-------+-----+
|      | plant |    date    | shop | line | hour | startmin | endmin | status | shift | uph |
+------+-------+------------+------+------+------+----------+--------+--------+-------+-----+
|    8 | HEF1  | 03-01-2020 | E    |    1 |    8 |        0 |     52 |      1 |     2 |  25 |
|    9 | HEF1  | 03-01-2020 | E    |    1 |    8 |       53 |     59 |      2 |     2 |  25 |
|   10 | HEF1  | 03-01-2020 | E    |    1 |    9 |        0 |     59 |      1 |     2 |  25 |
|   11 | HEF1  | 03-01-2020 | E    |    1 |   10 |        0 |     59 |      1 |     2 |  25 |
| 9645 | HEF2  | 27-01-2020 | E    |    1 |    7 |        0 |     59 |      1 |     1 |  58 |
| 9646 | HEF2  | 27-01-2020 | E    |    1 |    8 |        0 |     52 |      1 |     1 |  58 |
| 9647 | HEF2  | 27-01-2020 | E    |    1 |    8 |       53 |     59 |      2 |     1 |  58 |
+------+-------+------------+------+------+------+----------+--------+--------+-------+-----+

Eu quero convertê-lo para o seguinte

Required
+-------+---------------------+------+------+------+--------+-------+-----+
| plant |      datetime       | shop | line | hour | status | shift | uph |
+-------+---------------------+------+------+------+--------+-------+-----+
| HEF1  | 03-01-2020 08:00:00 | E    |    1 |    8 |      1 |     2 |  25 |
| HEF1  | 03-01-2020 08:01:00 | E    |    1 |    8 |      1 |     2 |  25 |
| HEF1  | 03-01-2020 08:02:00 | E    |    1 |    8 |      1 |     2 |  25 |
| HEF1  | 03-01-2020 08:03:00 | E    |    1 |    8 |      1 |     2 |  25 |
| HEF1  | 03-01-2020 08:04:00 | E    |    1 |    8 |      1 |     2 |  25 |
| HEF1  | 03-01-2020 08:05:00 | E    |    1 |    8 |      1 |     2 |  25 |
| HEF1  | 03-01-2020 08:06:00 | E    |    1 |    8 |      1 |     2 |  25 |
| HEF1  | 03-01-2020 08:07:00 | E    |    1 |    8 |      1 |     2 |  25 |
| HEF1  | 03-01-2020 08:08:00 | E    |    1 |    8 |      1 |     2 |  25 |
| HEF1  | 03-01-2020 08:09:00 | E    |    1 |    8 |      1 |     2 |  25 |
| HEF1  | 03-01-2020 08:10:00 | E    |    1 |    8 |      1 |     2 |  25 |
| HEF1  | 03-01-2020 08:11:00 | E    |    1 |    8 |      1 |     2 |  25 |
| HEF1  | 03-01-2020 08:12:00 | E    |    1 |    8 |      1 |     2 |  25 |
| HEF1  | 03-01-2020 08:13:00 | E    |    1 |    8 |      1 |     2 |  25 |
| HEF1  | 03-01-2020 08:14:00 | E    |    1 |    8 |      1 |     2 |  25 |
| HEF1  | 03-01-2020 08:15:00 | E    |    1 |    8 |      1 |     2 |  25 |
| HEF1  | 03-01-2020 08:16:00 | E    |    1 |    8 |      1 |     2 |  25 |
| HEF1  | 03-01-2020 08:17:00 | E    |    1 |    8 |      1 |     2 |  25 |
| HEF1  | 03-01-2020 08:18:00 | E    |    1 |    8 |      1 |     2 |  25 |
| HEF1  | 03-01-2020 08:19:00 | E    |    1 |    8 |      1 |     2 |  25 |
| HEF1  | 03-01-2020 08:20:00 | E    |    1 |    8 |      1 |     2 |  25 |
| HEF1  | 03-01-2020 08:21:00 | E    |    1 |    8 |      1 |     2 |  25 |
| HEF1  | 03-01-2020 08:22:00 | E    |    1 |    8 |      1 |     2 |  25 |
| HEF1  | 03-01-2020 08:23:00 | E    |    1 |    8 |      1 |     2 |  25 |
| HEF1  | 03-01-2020 08:24:00 | E    |    1 |    8 |      1 |     2 |  25 |
| HEF1  | 03-01-2020 08:25:00 | E    |    1 |    8 |      1 |     2 |  25 |
| HEF1  | 03-01-2020 08:26:00 | E    |    1 |    8 |      1 |     2 |  25 |
| HEF1  | 03-01-2020 08:27:00 | E    |    1 |    8 |      1 |     2 |  25 |
| HEF1  | 03-01-2020 08:28:00 | E    |    1 |    8 |      1 |     2 |  25 |
| HEF1  | 03-01-2020 08:29:00 | E    |    1 |    8 |      1 |     2 |  25 |
| HEF1  | 03-01-2020 08:30:00 | E    |    1 |    8 |      1 |     2 |  25 |
| HEF1  | 03-01-2020 08:31:00 | E    |    1 |    8 |      1 |     2 |  25 |
| HEF1  | 03-01-2020 08:32:00 | E    |    1 |    8 |      1 |     2 |  25 |
| HEF1  | 03-01-2020 08:33:00 | E    |    1 |    8 |      1 |     2 |  25 |
| HEF1  | 03-01-2020 08:34:00 | E    |    1 |    8 |      1 |     2 |  25 |
| HEF1  | 03-01-2020 08:35:00 | E    |    1 |    8 |      1 |     2 |  25 |
| HEF1  | 03-01-2020 08:36:00 | E    |    1 |    8 |      1 |     2 |  25 |
| HEF1  | 03-01-2020 08:37:00 | E    |    1 |    8 |      1 |     2 |  25 |
| HEF1  | 03-01-2020 08:38:00 | E    |    1 |    8 |      1 |     2 |  25 |
| HEF1  | 03-01-2020 08:39:00 | E    |    1 |    8 |      1 |     2 |  25 |
| HEF1  | 03-01-2020 08:40:00 | E    |    1 |    8 |      1 |     2 |  25 |
| HEF1  | 03-01-2020 08:41:00 | E    |    1 |    8 |      1 |     2 |  25 |
| HEF1  | 03-01-2020 08:42:00 | E    |    1 |    8 |      1 |     2 |  25 |
| HEF1  | 03-01-2020 08:43:00 | E    |    1 |    8 |      1 |     2 |  25 |
| HEF1  | 03-01-2020 08:44:00 | E    |    1 |    8 |      1 |     2 |  25 |
| HEF1  | 03-01-2020 08:45:00 | E    |    1 |    8 |      1 |     2 |  25 |
| HEF1  | 03-01-2020 08:46:00 | E    |    1 |    8 |      1 |     2 |  25 |
| HEF1  | 03-01-2020 08:47:00 | E    |    1 |    8 |      1 |     2 |  25 |
| HEF1  | 03-01-2020 08:48:00 | E    |    1 |    8 |      1 |     2 |  25 |
| HEF1  | 03-01-2020 08:49:00 | E    |    1 |    8 |      1 |     2 |  25 |
| HEF1  | 03-01-2020 08:50:00 | E    |    1 |    8 |      1 |     2 |  25 |
| HEF1  | 03-01-2020 08:51:00 | E    |    1 |    8 |      1 |     2 |  25 |
| HEF1  | 03-01-2020 08:52:00 | E    |    1 |    8 |      1 |     2 |  25 |

| HEF1  | 03-01-2020 08:53:00 | E    |    1 |    8 |      2 |     2 |  25 |
| HEF1  | 03-01-2020 08:54:00 | E    |    1 |    8 |      2 |     2 |  25 |
| HEF1  | 03-01-2020 08:55:00 | E    |    1 |    8 |      2 |     2 |  25 |
| HEF1  | 03-01-2020 08:56:00 | E    |    1 |    8 |      2 |     2 |  25 |
| HEF1  | 03-01-2020 08:57:00 | E    |    1 |    8 |      2 |     2 |  25 |
| HEF1  | 03-01-2020 08:58:00 | E    |    1 |    8 |      2 |     2 |  25 |
| HEF1  | 03-01-2020 08:59:00 | E    |    1 |    8 |      2 |     2 |  25 |

| HEF1  | 03-01-2020 09:00:00 | E    |    1 |    8 |      1 |     2 |  25 |
| HEF1  | 03-01-2020 09:01:00 | E    |    1 |    8 |      1 |     2 |  25 |
+-------+---------------------+------+------+------+--------+-------+-----+
Mil mil

primeiro crie carimbos de data / hora de início e término:

df['start_ts'] = pd.to_datetime(df['date'].astype(str) +' '+ df['hour'].astype(str)+':'+df['startmin'].astype(str))
df['end_ts'] = pd.to_datetime(df['date'].astype(str) +' '+ df['hour'].astype(str)+':'+df['endmin'].astype(str))

Em seguida, crie uma coluna de intervalo de datas:

df['t_range'] = [pd.date_range(start=x[0], end=x[1], freq='min') for x in zip(df['start_ts'], df['end_ts'])]

Então exploda por essa coluna:

df.explode('t_range')

exclua e renomeie as colunas conforme necessário

Este artigo é coletado da Internet.

Se houver alguma infração, entre em [email protected] Delete.

editar em
0

deixe-me dizer algumas palavras

0comentários
loginDepois de participar da revisão

Artigos relacionados

Interpretação de data e hora para cálculo de tempo de trabalho e intervalo

Converter intervalo de tempo em data e hora Para adicionar a um selecionador de data e hora em C #

Cálculo de tempo a partir de data e hora

Como posso agrupar a hora datetime para ter um cálculo no dataframe e saída como resultado do intervalo de tempo?

Restrição Postgres para intervalo de data e hora exclusivo

Função de intervalo JavaScript para contar data e hora

converter intervalo de tempo em data e hora

Como permitir um intervalo de tempo com o seletor de data e hora Bootstrap4

c # comparar data e hora datas com parâmetro de intervalo de tempo

Importe colunas separadas de excel de data e hora (hh: mm), para usar no cálculo do tempo decorrido

Intervalo de ano para formato de hora e data

Diferença de tempo para colunas de data e hora

Como obter apenas o intervalo de tempo de uma série de valores de data e hora em pl / sql?

Elimine a duplicação dos valores de índice de data e hora, adicionando incrementos fracionários de intervalo de tempo

Calcular o intervalo de atividade para um DataFrame de pandas com linhas de data e hora

SQL Server: obtenha linhas para intervalo de data e hora

Como limpar a data e hora selecionada no selecionador de intervalo de data e hora de reação?

Valores de grupo entre o intervalo de data e hora

Função Python para a criação flexível de intervalo de data e hora

Verifique o intervalo de data e hora para o fim de semana

Consulta Mysql para data e intervalo de tempo específicos

Consulta Mysql para data e intervalo de tempo específicos

Intervalo de data e hora UTC

Gerando um intervalo de data e hora

Intervalo de consulta MySQL, data e hora

Delphi gera valor aleatório de data e hora entre o intervalo de data e hora

Usando a programação de trabalho para inserir a data e hora atuais nas colunas

Adicionar coluna de intervalo de tempo da coluna data e hora com python

SQL JOIN - SELECIONE o intervalo de tempo mais recente com base no ID e carimbo de data / hora

TOP lista

quentelabel

Arquivo