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.

Convertir columna de cadena/fecha y hora de dataframe a fecha Parquet.

Tengo un DataFrame en el que tengo una columna de cadena ‘exam_date’ en formato YYYYMMDD. Por ejemplo, 20201130.

Tengo un requisito en el que debo convertir este DataFrame a parquet y subirlo. Sin embargo, al subirlo, quiero que el tipo de esquema de la columna sea DATE.

El comando ‘java -jar parquet-tools.jar schema myfile.parquet’ debe mostrar el tipo como:

opcional int32 exam_date (DATE);

He intentado convertir la columna a tipo DateTime de la siguiente manera:

final_calc_df[‘exam_date’] = pd.to_datetime(final_calc_df[‘exam_date’], format=’%Y%m%d’).dt.strftime(‘%Y%m%d’)

Sin embargo, esto me da el resultado como:

opcional binario exam_date (STRING);

¿Qué debo hacer para obtener el resultado deseado?

Lo que quiero es mantener los datos en formato YYYYMMDD, pero en lugar de tener un tipo de cadena/datetime/binario, quiero que sea de tipo fecha Date.

opcional int32 exam_date (DATE);

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Puedes utilizar la función pandas.to_datetime para convertir la columna exam_date en un objeto datetime, y después utilizar el método astype para convertirla en un objeto date:

    final_calc_df['exam_date'] = pd.to_datetime(final_calc_df['exam_date'],format='%Y%m%d').dt.date.astype('datetime64[D]')
    

    Esto debería darte el resultado deseado cuando ejecutes el comando parquet-tools.jar.

Comments are closed.