Comment remplacer NaNs par les valeurs précédentes dans les pandas DataFrame?

Supposons que j'ai un DataFrame avec certains NaNs:

>>> 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

Ce que je dois faire est de remplacer tous les NaN avec le premier non-NaN valeur dans la même colonne au-dessus d'elle. Il est supposé que la première ligne ne sera jamais contenir un NaN. Donc, pour l'exemple précédent, le résultat serait

   0  1  2
0  1  2  3
1  4  2  3
2  4  2  9

Je peux juste faire une boucle par l'ensemble du DataFrame colonne par colonne, élément par élément et réglez les valeurs directement, mais est-il facile (de façon optimale dans une boucle libre) façon d'atteindre cet objectif?

InformationsquelleAutor zegkljan | 2015-01-12