Supongamos que tengo un DataFrame con algunos NaN
s:
>>> import pandas as pd
>>> df = pd.DataFrame([[1, 2, 3], [4, None, None], [None, None, 9]])
>>> df
0 1 2
0 1 2 3
1 4 NaN NaN
2 NaN NaN 9
Lo que necesito hacer es reemplazar cada uno NaN
con el primer no NaN
valor en la misma columna sobre él. Se supone que la primera fila nunca contendrá a NaN
. Entonces, para el ejemplo anterior, el resultado sería
0 1 2
0 1 2 3
1 4 2 3
2 4 2 9
Solo puedo recorrer todo el DataFrame columna por columna, elemento por elemento y establecer los valores directamente, pero ¿hay una manera fácil (óptimamente libre de bucles) de lograr esto?