#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. сделано! Спасибо!