es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Fechas y horas para los dataframes de Julia

Pandas tiene una serie de utilidades muy útiles para manipular índices de fechas y horas. ¿Existe alguna funcionalidad similar en Julia? No he encontrado ningún tutorial para trabajar con estas cosas, aunque obviamente debe ser posible.

Algunos ejemplos de utilidades en Pandas:

dti = pd.to_datetime(
    ["1/1/2018", np.datetime64("2018-01-01"), 
datetime.datetime(2018, 1, 1)]
)

dti = pd.date_range("2018-01-01", periods=3, freq="H")

dti = dti.tz_localize("UTC")

dti.tz_convert("US/Pacific")

idx = pd.date_range("2018-01-01", periods=5, freq="H")
ts = pd.Series(range(len(idx)), index=idx)
ts.resample("2H").mean()
Tags:  ,

Answer

  1. Avatar for davy.ai

    Sí, existe una funcionalidad similar en los módulos DateTime y Dates de Julia. El módulo Dates proporciona varias funciones para crear, manipular y formatear fechas, como analizar una cadena de fecha, agregar o restar intervalos de tiempo y formatear una fecha en una representación de cadena. Algunos ejemplos de utilidades de Dates son:

    # Crear un objeto de fecha
    d = Date(2018, 1, 1)
    
    # Analizar una cadena de fecha
    d = Dates.DateTime("2018-01-01T00:00:00")
    
    # Agregar intervalos de tiempo
    d + Dates.Day(1)
    d + Dates.Hour(1)
    
    # Formatear una fecha
    Dates.format(d, "yyyy-mm-dd")
    
    # Crear un rango de fechas
    r = Dates.Date(2018, 1, 1):Dates.Day(1):Dates.Date(2018, 1, 5)
    
    # Crear un rango de datetimes
    r = Dates.DateTime(2018, 1, 1, 0, 0, 0):Dates.Hour(1):Dates.DateTime(2018, 1, 1, 3, 0, 0)
    

    El módulo DateTime proporciona soporte para zonas horarias e intervalos de tiempo. Algunos ejemplos de utilidades de DateTime son:

    using DateTime
    
    # Crear un objeto de zona horaria
    tz = DateTime.FixedOffsetTimeZone(-8)
    
    # Agregar una zona horaria a un objeto de DateTime
    dt = DateTime("2018-01-01T00:00:00")
    dt = DateTime(dt, tz)
    
    # Convertir un DateTime a una zona horaria diferente
    tz = DateTime.FixedOffsetTimeZone(-5)
    dt = DateTime("2018-01-01T00:00:00-0800")
    dt = DateTime(dt, tz)
    
    # Re-muestrear una serie de tiempo
    using DataFrames
    
    idx = Dates.DateTime(2018, 1, 1, 0, 0, 0):Dates.Hour(1):Dates.DateTime(2018, 1, 1, 4, 0, 0)
    ts = DataFrame(timestamp=idx, value=1:length(idx))
    
    resampled = by(ts, :timestamp) do group
        sum(group.value)
    end
    
    resampled.timestamp = Dates.DateTime.(resampled.timestamp)
    

Comments are closed.