Заполнение пропущенных значений указанным выше значением

#python #pandas

Вопрос:

У меня есть фрейм данных с некоторыми отсутствующими значениями. Мне нужно обновить одно 'nan' значение, указав последнее значение не 'nan' в строке.

Пример:

     nome
0   ESTAMPA DIGITAL 1
1   nan
2   nan
3   nan
4   nan
5   ESTAMPA DIGITAL 2
6   nan
7   nan
8   nan
9   nan
 

нужно создать что-то вроде этого:

     nome
0   ESTAMPA DIGITAL 1
1   ESTAMPA DIGITAL 1
2   ESTAMPA DIGITAL 1
3   ESTAMPA DIGITAL 1
4   ESTAMPA DIGITAL 1
5   ESTAMPA DIGITAL 2
6   ESTAMPA DIGITAL 2
7   ESTAMPA DIGITAL 2
8   ESTAMPA DIGITAL 2
9   ESTAMPA DIGITAL 2
 

текущий код является:

 for index, row in df_produtos.iterrows():
    is_null = pd.isnull(row['nome'])
    if is_null == False:
        nome = row['nome']
        print(nome)
    elif is_null == True:
        row['nome'] = nome
 

Но это не работает. Кто-нибудь может помочь, пожалуйста?
PS: print(nome) это печать только "valid" тех значений, которых нет 'nan' . Но это не устанавливает новое значение.

Комментарии:

1. используйте fill foward?

2. только изучаю панд, еще не знаю этой функции… Я постараюсь! Спасибо, Дэни!

3. @DaniMesejo это сработало идеально!! Большое спасибо!!!

Ответ №1:

Попробуйте использовать .ffill() для пересылки заполнение NaN значений, как показано ниже:

 df_produtos['nome'] = df_produtos['nome'].ffill()
 

Комментарии:

1. это сработало идеально!! Большое спасибо!!!

2. сделано! Спасибо!