Trabajar con Diferencias de Tiempo

PythonPythonBeginner
Practicar Ahora

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

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

Esta práctica te guía a través del proceso de trabajar con deltas de tiempo en Python utilizando la biblioteca pandas. Un delta de tiempo representa una duración o diferencia en el tiempo. Exploraremos diferentes maneras de construir, manipular y operar con deltas de tiempo.

Consejos sobre la VM

Una vez finalizada la inicialización de la VM, haz clic en la esquina superior izquierda para cambiar a la pestaña Cuaderno y acceder a Jupyter Notebook para practicar.

A veces, es posible que tengas que esperar unos segundos a que Jupyter Notebook termine de cargarse. La validación de las operaciones no se puede automatizar debido a las limitaciones de Jupyter Notebook.

Si tienes problemas durante el aprendizaje, no dudes en preguntar a Labby. Proporciona retroalimentación después de la sesión y resolveremos el problema para ti de inmediato.

Importar las bibliotecas necesarias

En primer lugar, necesitamos importar las bibliotecas necesarias. En este caso, usaremos pandas y numpy.

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

Construir un Timedelta

Vamos a crear un objeto Timedelta, que representa una duración o diferencia en el tiempo.

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

Convertir a Timedelta

Puedes convertir un escalar, matriz, lista o serie de un formato de timedelta reconocido en un tipo timedelta.

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

Realizar operaciones

Puedes realizar operaciones matemáticas con timedeltas.

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

Acceder a los atributos

Puedes acceder directamente a los diversos componentes del timedelta.

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

Convertir a una duración ISO 8601

Puedes convertir un timedelta en una cadena de duración 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()

Crear un índice de timedelta

Puedes generar un índice con timedeltas.

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

Usar el índice de timedelta

Puedes usar el índice de timedelta como el índice de objetos de 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 operaciones con el índice de timedelta

Puedes realizar operaciones con el índice de 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()

Remuestrear un índice de timedelta

Puedes remuestrear datos con un índice de timedelta.

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

Resumen

En este laboratorio, aprendimos cómo trabajar con timedeltas en Python utilizando la biblioteca pandas. Cubrimos cómo construir un timedelta, convertir a timedelta, realizar operaciones, acceder a atributos, convertir a ISO 8601 Duración, crear un índice de timedelta, usar el índice de timedelta, realizar operaciones con el índice de timedelta y remuestrear un índice de timedelta. Con estas habilidades, podrás manejar y manipular eficientemente datos basados en el tiempo en tus futuras tareas de análisis de datos.