Supponiamo che io ho una dataframe con alcuni NaN
s:Come sostituire i NaN con i valori precedenti in DataFrame panda?
>>> 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
Che cosa devo fare è sostituire ogni NaN
con il primo valore di NaN
non nella stessa colonna sopra di esso. Si presume che la prima riga non contenga mai un 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 solo scorrere l'intero dataframe colonna per colonna, elemento per elemento e impostare i valori direttamente, ma c'è un facile (in modo ottimale un loop -free) modo di raggiungere questo?
esattamente quello che stavo cercando, ty – Tony