Uzupełnij brakujące dane pand poprzednią nie brakującą wartością pogrupowaną według klucza

Mam do czynienia z pandami DataFrames w ten sposób:

   id    x
0   1   10
1   1   20
2   2  100
3   2  200
4   1  NaN
5   2  NaN
6   1  300
7   1  NaN

Chciałbym zamienić każdy NAN „x” na poprzedni „x” inny niż NAN z wiersza o tej samej wartości „id”:

   id    x
0   1   10
1   1   20
2   2  100
3   2  200
4   1   20
5   2  200
6   1  300
7   1  300

Czy jest jakiś sposób na zrobienie tego bez ręcznego zapętlania wierszy?

questionAnswers(2)

yourAnswerToTheQuestion