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.

Hora ISO como una columna en el dataframe

Quiero agregar una nueva columna ‘timestamp’ en el dataframe actual de Python. Intenté el código de abajo,

df["timestamp"]=datetime.datetime.now().replace(microsecond=0).replace(second=0).isoformat()+"Z"

Pero obtuve el mismo timestamp para todas las filas. En realidad, necesito una nueva columna que contenga una serie de timestamps. Que comience desde un timestamp particular.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para agregar una nueva columna de marcas de tiempo en un DataFrame de Python existente, podemos usar el siguiente código:

    import pandas as pd
    import datetime
    
    # crear el DataFrame
    df = pd.DataFrame({'col1': [1, 2, 3], 'col2': ['A', 'B', 'C']})
    
    # establecer la marca de tiempo de inicio
    start_time = datetime.datetime(2021, 9, 1, 0, 0, 0)
    
    # agregar la columna de marca de tiempo
    df['timestamp'] = pd.date_range(start=start_time, periods=len(df), freq='H').strftime('%Y-%m-%dT%H:%M:%SZ')
    
    # mostrar el DataFrame
    print(df)
    

    En este código, primero importamos los paquetes necesarios: pandas y datetime. Luego creamos un DataFrame simple con dos columnas (‘col1’ y ‘col2’).

    También establecemos una marca de tiempo de inicio utilizando el paquete datetime. Esta es la marca de tiempo que se utilizará como el primer valor en la nueva columna ‘timestamp’.

    Para agregar la nueva columna, utilizamos la función pd.date_range() para generar una serie de marcas de tiempo. Establecemos la hora de inicio como el valor que definimos anteriormente, y establecemos el número de periodos como la longitud del DataFrame (para que haya una marca de tiempo por fila). También establecemos la frecuencia en horas (‘H’).

    Finalmente, utilizamos el método .strftime() para dar formato a las marcas de tiempo en el formato ISO que se solicitó en la pregunta.

    Cuando ejecutemos este código, deberíamos ver una nueva columna ‘timestamp’ agregada al DataFrame existente, con una serie de marcas de tiempo que comienzan desde la marca de tiempo de inicio especificada.

Comments are closed.