Supponiamo che io abbia un DataFrame con alcuni 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
Quello che devo fare è sostituire ognuno NaN
con il primo non NaN
valore nella stessa colonna sopra di esso. Si presume che la prima riga non conterrà mai a NaN
. Quindi, per l'esempio precedente, il risultato sarebbe
0 1 2
0 1 2 3
1 4 2 3
2 4 2 9
Posso semplicemente passare in rassegna l'intero DataFrame colonna per colonna, elemento per elemento e impostare direttamente i valori, ma esiste un modo semplice (ottimamente privo di loop) per raggiungere questo obiettivo?