Python 基于上一行和下一行填充行
我有这种df:Python 基于上一行和下一行填充行,python,pandas,dataframe,Python,Pandas,Dataframe,我有这种df: values str1 str1 nan nan str1 nan nan str2 nan nan str2 值是str。我想填充行被相同值包围的位置,并获得: values str1 str1 str1 str1 str1 nan nan str2 str2 str2 str2 fillna函数中是否有可执行此操作的选项 编辑: 还有一个选项可以设置两个stru_i之间要填充的行数限制吗?单向使用ffill和bfill: df2 = df.ffill() print(
values
str1
str1
nan
nan
str1
nan
nan
str2
nan
nan
str2
值是str
。我想填充行被相同值包围的位置,并获得:
values
str1
str1
str1
str1
str1
nan
nan
str2
str2
str2
str2
fillna
函数中是否有可执行此操作的选项
编辑:
还有一个选项可以设置两个stru_i之间要填充的行数限制吗?单向使用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
您是否尝试过df[“values”].fillna(method=“ffill”,limit=N)
?是的,但我将用str1
替换str1
和str2
之间的nan