0

La pregunta tiene dos vertientes:

  1. ¿Que estructura o serie de datos (array, List, dict...) utilizo para traducir el valor de una columna de un DataFrame de Pyspark? Pensando que pueden tener una estructura del tipo "clave, valor" o simplemente el "valor"

  2. ¿Como ejecutar la traducción para modificar el valor una columna por el valor de la serie de datos?


  1. Las series de datos a utilizar en este ejemplo son:

    yesno = {"0":"yes", "1":"no"}

    daysofweek = {"monday","tuesday","wednesday","thursday","friday","saturday","sunday"}

    treatment = {"11":"first","12":"first","13":"second","21":"first","22":"second","23":"third","31":"second","32":"third","33":"third"}

    Estructura del df pyspark (nombre de columna, tipo y valores originales posibles):

    • daysofweek, int, 1/2/3/4/5/6/7/None
    • yesno_str, string, 0/1/None
    • yesno_int, int, 0/1/None
    • priority, int, 1/2/3/None
    • severity, int, 1/2/3/None
    • treatment, str, first/second/third/None
  2. Las dudas para el tratamiento de las columnas del DF son las siguientes:

    a) Sustituir el valor de la columna [yesno_str] por el valor que le corresponda en la serie: [yesno]

    DataFrame = DataFrame.withColumn('yesno_str', ?????) # ????? es la incognita

    b) Sustituir el valor de la columna [yesno_int] por el valor que le corresponda en la serie: [yesno]

    DataFrame = DataFrame.withColumn('yesno_int', ?????) # ????? es la incognita

    c) Sustituir el valor de la columna [daysofweek] por el valor que le corresponda en la serie: [daysofweek]

    DataFrame = DataFrame.withColumn('daysofweek', ?????) # ????? es la incognita

    d) Sustituir el valor de la columna [treatment] por el valor que le corresponda en la serie: [treatment], traduciendo el valor que sale como resultante de concatenar [priority+severity]

    DataFrame = DataFrame.withColumn('treatment', ?????) # ????? es la incognita

    e) Realizar las operaciones anteriores con sentencias SQL.

    f) Realizar las operaciones anteriores utilizando funciones UDF.


Gracias de antemano. Soy novato, estoy atascado con estas situaciones de modificación de los valores de las columnas utilizando una lista o array de valores.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.