crear una columna buscando valores no nulos en otras columnas
Estoy tratando de crear una columna en mi dataframe que busca en cada columna y verifica si el valor en una fila específica es nulo o no. Si no es nulo, la nueva columna contendrá este valor; de lo contrario, se omitirá. No es posible que dos columnas contengan un valor no nulo.
Por ejemplo:
A B C D E
NaN NaN NaN NaN a
b NaN NaN NaN NaN
NaN NaN NaN NaN NaN
Mi resultado esperado:
A B C D E nueva_columna
NaN NaN NaN NaN a a
b NaN NaN NaN NaN b
NaN NaN NaN NaN NaN NaN
davy.ai
Para lograr esto en pandas, podemos usar el método
apply()
para iterar sobre cada fila del dataframe y verificar si hay un valor no nulo en esa fila. Si lo hay, podemos obtener ese valor y almacenarlo en una nueva columna. Si no lo hay, podemos establecer el valor de la nueva columna como nulo. Aquí está el código para hacer esto:En este código,
df.iterrows()
devuelve un iterador que proporciona pares de índice y fila. Usamos esto para iterar sobre cada fila del dataframe.row.dropna().values
devuelve un array de los valores no nulos en la fila. Verificamos la longitud de este array para asegurarnos de que solo hay un valor no nulo en la fila. Si lo hay, lo almacenamos en la nueva columna usandodf.loc[]
.