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.

Iterar para rellenar nulos en pandas

Tengo una tabla en la que me gustaría completar algunos valores nulos siguiendo una regla que depende de las columnas. Una parte de la tabla se ve así:

Master IDA ColA ColB ColC
X 1 a NaN NaN
X 2 g f o
X 3 t s o
Y 4 a d c
Y 5 e r Nan

Mi idea es:

En cada fila, buscar valores nulos.
Cuando encuentre un valor nulo, buscar otra fila que tenga el mismo Master y completar el nulo con el valor de ID_A de esa fila.

En este caso, ColB será 2 y ColC será 3 (en la primera fila).
Y Col_C en la quinta fila será 4.

¿Cómo puedo hacer esto? Todavía me resulta difícil construir bucles, ¡pero me gustaría aprender más! ¡Gracias!

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Puedes utilizar un bucle for para iterar a través de cada fila de la tabla y comprobar valores nulos. Si se encuentra un valor nulo, puedes utilizar una declaración if para comprobar si el valor Maestro de la fila actual coincide con el valor Maestro de alguna otra fila. Si lo hace, puedes utilizar el valor de ID_A de la otra fila para llenar el valor nulo.

    Aquí tienes un ejemplo de cómo puedes hacerlo:

    for fila in tabla:
        if fila['Col_A'] == None:
            for otra_fila in tabla:
                if fila['Maestro'] == otra_fila['Maestro']:
                    fila['Col_A'] = otra_fila['ID_A']
        if fila['Col_B'] == None:
            for otra_fila in tabla:
                if fila['Maestro'] == otra_fila['Maestro']:
                    fila['Col_B'] = otra_fila['ID_A']
        if fila['Col_C'] == None:
            for otra_fila in tabla:
                if fila['Maestro'] == otra_fila['Maestro']:
                    fila['Col_C'] = otra_fila['ID_A']
    

Comments are closed.