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.

Corregir fechas en DataFrame de Pyspark – establecer en valor mínimo.

Tengo un marco de datos con un campo de marca de tiempo – RECEIPTDATEREQUESTED: marca de tiempo. Por alguna razón, hay fechas que son anteriores a 1900-01-01. No las quiero, lo que quiero hacer es establecer la marca de tiempo en 1900-01-01 o nulo para cada valor en la columna del marco de datos donde RECIBODEDATOSOLICITADO < ‘1900-01-01 00: 00: 00’. He intentado algunas formas de hacer esto, pero parece que existe una forma más simple. Pensé que algo como esto podría funcionar, pero …

Tags:  ,

Answer

  1. Avatar for davy.ai

    En el código anterior:

    • Importamos las bibliotecas necesarias.
    • Definimos una función change_date para verificar si el valor de fecha es menor que 1900-01-01, y si es así, cambiarlo a 1900-01-01 o null.
    • Creamos un UDF udf_change_date para la función.
    • Aplicamos el UDF al dataframe utilizando el método withColumn, y creamos una nueva columna RECEIPTDATEREQUESTED_NEW con los valores de fecha actualizados. Aquí, usamos la función when para comprobar si el valor de fecha original es menor que 1900-01-01, y si es así, establecemos el nuevo valor en null. De lo contrario, aplicamos el UDF para cambiar el valor de fecha.

Comments are closed.