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.

Obtener todas las columnas en un dataframe de pandas que sean de tipo fecha cuando hay diferentes zonas horarias presentes en diferentes columnas.

Tengo un dataframe donde algunos tipos de columna son datetime64[ns] y otros son datetime64[ns,UTC].

Ten en cuenta que todos se han convertido usando

df["some_time_col"] = pd.to_datetime(df["some_time_col"]) pero dado que df es una combinación de datos de diferentes bases de datos, los husos horarios son diferentes.

¿Existe alguna forma de obtener todas las columnas que son columnas de fecha, es decir, algo como esto?

dt_cols = df.select_dtypes(include=[pd.datetime]).columns

en lugar de tener que especificar todos los husos horarios como

dt_cols = df.select_dtypes(include=["datetim64","datetime64[UTC]","datetime64[UTC+1]",...]).columns

Usar cualquiera de estos

dt_cols = df.select_dtypes(include=[np.datetime64]).columns
dt_cols = df.select_dtypes(include=["datetime64"]).columns

no captura datetime64[ns,UTC], sino solo datetime64[ns].

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Solución para obtener todas las columnas con tipo de datos de fecha y hora, incluyendo las zonas horarias, en Pandas

    El siguiente código puede ser utilizado para seleccionar todas las columnas con tipo de datos de fecha y hora, incluyendo las zonas horarias:

    dt_cols = df.select_dtypes(include=['datetime64[ns, UTC]', 'datetime64[ns]']).columns
    

    Explicación:

    • select_dtypes se utiliza para seleccionar columnas con tipos de datos específicos
    • El parámetro include se establece como una lista de tipos de datos de fecha y hora, incluyendo las zonas horarias
    • La lista incluye datetime64[ns, UTC] y datetime64[ns], lo cual abarca todos los tipos de datos de fecha y hora en el dataframe dado

    Este método evita la necesidad de especificar todas las posibles zonas horarias y selecciona todos los posibles tipos de datos de fecha y hora en el dataframe.

    Nota: El dtype datetime64[ns, UTC] se utiliza cuando la información de la zona horaria está presente en la columna de fecha y hora, y UTC es la zona horaria. Sin embargo, si la zona horaria es diferente, se reflejará en el dtype, por ejemplo, datetime64[ns, US/Pacific]. En esos casos, el nombre de la zona horaria debe incluirse en el parámetro include.

Comments are closed.