I have the following problem:

I have got a dataframe that could be up to around 6 million rows. On of the columns in this data frame contains certain IDs.

```
ID
NaN
NaN
D1
D1
D1
NaN
D1
D1
NaN
NaN
NaN
NaN
D2
NaN
D2
NaN
NaN
NaN
NaN
D3
NaN
D3
NaN
D3
NaN
NaN

```

I want to make the NaNs that is included between the IDs the same as the IDs. Thus above df should become:

```
ID
NaN
NaN
D1
D1
D1
D1
D1
D1
NaN
NaN
NaN
NaN
D2
D2
D2
NaN
NaN
NaN
NaN
D3
D3
D3
D3
D3
NaN
NaN

```

Does anybody know how to do this in a fast, memory economical way?
Thanks in advance.