preloader

Fechas y horas con NumPy

Índice de contenido

numpy.datetime64

Información

El tipo de datos que hace referencia a fechas y horas en NumPy se llama datetime64. La forma más básica de crear fechas y horas es a partir de cadenas de texto en formato de fecha o de fecha+hora ISO 8601. Internamente, NumPy almacena una unidad que se extrae de forma automática a partir de la cadena de texto, y que puede ser:

  • “Y” para años
  • “M” para meses
  • “W” para semanas
  • “D” para días
  • “h” para horas
  • “m” para minutos
  • “s” para segundos
  • “ms” para milisegundos
  • “us” para microsegundo
  • “ns” para nanosegundos
  • “ps” para picosegundos
  • “fs” para femtosegundos
  • “as” para attosegundos

Desde la versión 1.11.0, NumPy no almacena información sobre zonas horarias.

Generación

Simple

Veamos varios ejemplos:

python
dtime1 = np.datetime64("2020-08-01")
dtime1
numpy.datetime64('2020-08-01')
python
np.datetime64("2020-08")
numpy.datetime64('2020-08')
python
np.datetime64("2020-08", "D")
numpy.datetime64('2020-08-01')
python
np.datetime64("2020-08-01T10:59")
numpy.datetime64('2020-08-01T10:59')
python
import datetime
datetime.date(2020,8,1)
datetime.date(2020, 8, 1)
python
np.datetime64("2020-08-01")
numpy.datetime64('2020-08-01')

Array

python
np.array([np.datetime64("2020-08-01"),
         np.datetime64("2020-08-02"),
         np.datetime64("2020-08-03")])
array(['2020-08-01', '2020-08-02', '2020-08-03'], dtype='datetime64[D]')
python
np.array(["2020-08-01", "2020-08-02", "2020-08-03"], dtype='datetime64[m]')
array(['2020-08-01T00:00', '2020-08-02T00:00', '2020-08-03T00:00'],
      dtype='datetime64[m]')
python
np.array(["2020-08-01T10:59", "2020-08-02T11:22:24", "2020-08-03T12"], dtype='datetime64')
array(['2020-08-01T10:59:00', '2020-08-02T11:22:24',
       '2020-08-03T12:00:00'], dtype='datetime64[s]')
python
np.arange("2020-07", "2020-08", dtype='datetime64[m]')
array(['2020-07-01T00:00', '2020-07-01T00:01', '2020-07-01T00:02', ...,
       '2020-07-31T23:57', '2020-07-31T23:58', '2020-07-31T23:59'],
      dtype='datetime64[m]')

numpy.timedelta64

Información

Este tipo de datos permite almacenar duraciones de tiempo con una unidad asociada.

Generación

python
np.timedelta64(2, "Y")
numpy.timedelta64(2,'Y')
python
np.timedelta64(24, "h")
numpy.timedelta64(24,'h')
python
np.datetime64("2020-08-01") - np.datetime64("2020-07-22")
numpy.timedelta64(10,'D')

Operaciones aritméticas

python
np.datetime64("2020-08-01") + np.timedelta64(10, "D")
numpy.datetime64('2020-08-11')
python
np.datetime64("2020-08-01T01:00") + np.timedelta64(10, "h")
numpy.datetime64('2020-08-01T11:00')
python
np.timedelta64(1, "W") / np.timedelta64(1, "D")
7.0
comments powered by Disqus