Una marca de tiempo es una string de caracteres o datos encriptados o codificados que identifican la hora y la fecha de un evento, generalmente indican la hora y la fecha del día y, a menudo, tienen una precisión de una fracción de segundo. las marcas de tiempo se utilizan para mantener un seguimiento de la información. Cuando se creaba, transmitía, editaba o eliminaba información, se le asignaba una marca de tiempo. Demostremos cómo generar rangos de marcas de tiempo usando python.
Las marcas de tiempo son de la forma:
formato general
AAAA-MM-DD hh:mm:ss
- Y significa año
- M significa mes
- D significa día
- h representa la hora
- m significa minutos
- s significa segundos
Método 1: Usar datetime.timedellta()
Importe paquetes de DateTime y pandas. Tomamos una fecha base que es la fecha de hoy pd.Timestamp.today() . timedelta() que aumenta en pasos de ‘1’ se agrega a la fecha de hoy usando el método datetime.timedelta(). timedelta() toma un día de argumento que es el número de días que debemos incrementar nuestra fecha base. a continuación se muestra el código para generar marcas de tiempo para los próximos 10 días. cambiamos el rango según el requisito.
Python3
# importing packages import datetime import pandas as pd n_days = 10 # today's date in timestamp base = pd.Timestamp.today() # calculating timestamps for the next 10 days timestamp_list = [base + datetime.timedelta(days=x) for x in range(n_days)] # iterating through timestamp_list for x in timestamp_list: print(x)
Producción:
Método 2: Usar el método pd.date_range()
En este enfoque, usamos directamente el método date_range() de la biblioteca de panda. La fecha de inicio es fechahora. today() que es la fecha de hoy. Períodos es el número de períodos a generar. Podemos generar directamente un rango de marcas de tiempo usando este método.
Python3
# importing packages import pandas as pd from datetime import datetime # creating a range of timestamps timestamp_list = pd.date_range(datetime.today(), periods=10).tolist() for i in timestamp_list: print(i) print(type(i))
Producción:
2022-02-20 08:28:35.822503 2022-02-21 08:28:35.822503 2022-02-22 08:28:35.822503 2022-02-23 08:28:35.822503 2022-02-24 08:28:35.822503 2022-02-25 08:28:35.822503 2022-02-26 08:28:35.822503 2022-02-27 08:28:35.822503 2022-02-28 08:28:35.822503 2022-03-01 08:28:35.822503 <class 'pandas._libs.tslibs.timestamps.Timestamp'>
En lugar de usar el parámetro ‘períodos’ en el método pd.date_range(), podemos usar directamente los parámetros de inicio y finalización para especificar las fechas de inicio y finalización. La frecuencia predeterminada de este método es ‘día’, por lo que obtenemos el range() de fechas incrementado en 24 horas.
Python3
# importing packages import pandas as pd # range of timestamps timestamp_range = pd.date_range(start="2020-02-20", end="2020-03-01") for i in date_timestamp: print(i) print(type(i))
Producción:
2020-02-20 00:00:00 2020-02-21 00:00:00 2020-02-22 00:00:00 2020-02-23 00:00:00 2020-02-24 00:00:00 2020-02-25 00:00:00 2020-02-26 00:00:00 2020-02-27 00:00:00 2020-02-28 00:00:00 2020-02-29 00:00:00 2020-03-01 00:00:00 <class 'pandas._libs.tslibs.timestamps.Timestamp'>
Método 3: Usar el método pd.period_range()
El pd.period_range() es similar a pd.date_range() pero devuelve el índice del período, por lo que debemos usar el método to_timestamp() para cambiarlo a valores de marca de tiempo. usamos el parámetro freq para establecer la frecuencia en meses usando la string «M». En los ejemplos mencionados anteriormente, la frecuencia era el día. En este ejemplo, se genera un rango de marcas de tiempo que se incrementan por meses.
Python3
# importing packages import pandas as pd import datetime # range of dates date_range = pd.period_range( start=datetime.datetime.today(), periods=10, freq='M') # timestamp range timestamp_range = [x.to_timestamp() for x in date_range] # iterating through timestamp range for i in timestamp_range: print(i) print(type(i))
Producción:
2022-02-01 00:00:00 2022-03-01 00:00:00 2022-04-01 00:00:00 2022-05-01 00:00:00 2022-06-01 00:00:00 2022-07-01 00:00:00 2022-08-01 00:00:00 2022-09-01 00:00:00 2022-10-01 00:00:00 2022-11-01 00:00:00 <class 'pandas._libs.tslibs.timestamps.Timestamp'>
Publicación traducida automáticamente
Artículo escrito por isitapol2002 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA