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.