#python #pandas #dataframe
#python #pandas #фрейм данных
Вопрос:
У меня есть такой df :
values
str1
str1
nan
nan
str1
nan
nan
str2
nan
nan
str2
values
являются str
. Я хочу заполнить строки, в которых строки окружены одинаковым значением, и получить :
values
str1
str1
str1
str1
str1
nan
nan
str2
str2
str2
str2
Есть ли опция в fillna
функции, которая может это сделать?
Редактировать :
Есть ли также возможность установить ограничение на количество строк между двумя str_i для заполнения?
Комментарии:
1. вы пробовали
df["values"].fillna(method="ffill", limit=N)
?2. да, но я заменю
nan
междуstr1
иstr2
наstr1
Ответ №1:
Один из способов использования ffill
и bfill
:
df2 = df.ffill()
print(df2[df2 == df.bfill()])
Вывод:
values
0 str1
1 str1
2 str1
3 str1
4 str1
5 NaN
6 NaN
7 str2
8 str2
9 str2
10 str2