Trabalhando com Deltas de Tempo

Beginner

This tutorial is from open-source community. Access the source code

Introdução

Este laboratório guia você pelo processo de trabalho com deltas de tempo em Python usando a biblioteca pandas. Um delta de tempo representa uma duração ou diferença no tempo. Exploraremos diferentes maneiras de construir, manipular e operar em deltas de tempo.

Dicas da VM

Após a inicialização da VM, clique no canto superior esquerdo para mudar para a aba Notebook e acessar o Jupyter Notebook para praticar.

Às vezes, pode ser necessário aguardar alguns segundos para que o Jupyter Notebook termine de carregar. A validação das operações não pode ser automatizada devido às limitações do Jupyter Notebook.

Se você enfrentar problemas durante o aprendizado, sinta-se à vontade para perguntar ao Labby. Forneça feedback após a sessão, e resolveremos o problema prontamente para você.

Importar as Bibliotecas Necessárias

Primeiramente, precisamos importar as bibliotecas necessárias. Neste caso, usaremos pandas e numpy.

## Import the required libraries
import pandas as pd
import numpy as np
import datetime

Construir um Timedelta

Vamos criar um objeto timedelta, que representa uma duração ou diferença no tempo.

## Construct a timedelta object
pd.Timedelta("1 days 2 hours")

Converter para Timedelta

Você pode converter um escalar, array, lista ou série de um formato timedelta reconhecido em um tipo timedelta.

## Convert a string to a timedelta
pd.to_timedelta("1 days 06:05:01.00003")

Realizar Operações

Você pode realizar operações matemáticas em timedeltas.

## Subtract two timedeltas
s = pd.Series(pd.date_range("2012-1-1", periods=3, freq="D"))
s - s.max()

Acessar Atributos

Você pode acessar vários componentes do timedelta diretamente.

## Access the days attribute of a timedelta
tds = pd.Timedelta("31 days 5 min 3 sec")
tds.days

Converter para Duração ISO 8601

Você pode converter um timedelta para uma string de Duração ISO 8601.

## Convert a timedelta to an ISO 8601 Duration string
pd.Timedelta(days=6, minutes=50, seconds=3, milliseconds=10, microseconds=10, nanoseconds=12).isoformat()

Criar um Índice Timedelta

Você pode gerar um índice com deltas de tempo.

## Generate a timedelta index
pd.TimedeltaIndex(["1 days", "1 days, 00:00:05", np.timedelta64(2, "D"), datetime.timedelta(days=2, seconds=2)])

Usar o Índice Timedelta

Você pode usar o índice timedelta como o índice de objetos pandas.

## Use the timedelta index as the index of a pandas series
s = pd.Series(np.arange(100), index=pd.timedelta_range("1 days", periods=100, freq="h"))

Realizar Operações com o Índice Timedelta

Você pode realizar operações com o índice timedelta.

## Add a timedelta index to a datetime index
tdi = pd.TimedeltaIndex(["1 days", pd.NaT, "2 days"])
dti = pd.date_range("20130101", periods=3)
(dti + tdi).to_list()

Reamostrar um Índice Timedelta

Você pode reamostrar dados com um índice timedelta.

## Resample data with a timedelta index
s.resample("D").mean()

Resumo

Neste laboratório, aprendemos como trabalhar com deltas de tempo em Python usando a biblioteca pandas. Cobrimos como construir um timedelta, converter para timedelta, realizar operações, acessar atributos, converter para ISO 8601 Duration, criar um índice timedelta, usar o índice timedelta, realizar operações com o índice timedelta e reamostrar um índice timedelta. Com essas habilidades, você pode lidar e manipular dados baseados em tempo de forma eficiente em suas futuras tarefas de análise de dados.