Как заменить строки с 0 на значения из строки выше с о значением !=0?

Создают новый столбец, в нем полявляются нужные мне значения через огромные пропуски NaN.
Удаляю пропуски первой строкой кодa - меняю их на 0. Затем, хочу заменить значения 0 на те, которые были так сказать до этого числом - через проверку по условию пытаюсь копировать, но так в лоб не копируются значения.

Как сделать правильно?

df.fillna(0, inplace=True)
df.loc[df['mes'] == 0, 'mes'] = df['mes'].shift(1)
44.7
0
0
0
0
0
0
0
0
45.2
0
0
0
0

Итог:

44.7
44.7
44.7
44.7
44.7
44.7
44.7
44.7
44.7
45.2
45.2
45.2
45.2
45.2

Ответы (1 шт):

Автор решения: MaxU

Вместо df.fillna(0, inplace=True) воспользуйтесь методом Series.ffill():

df['mes'] = df['mes'].ffill()
→ Ссылка