整数值之间的条件前向填充

时间:2018-05-30 04:02:53

标签: python pandas dataframe nan

我有一个整数值的数据帧列,它们之间有空的NaN。我想在新整数的开始和同一整数的最后一个实例之间转发填充。

0   NaN
1   2.0
2   NaN
3   NaN
4   2.0
5   NaN
6   NaN
7   3.0
8   NaN
9   NaN
10  NaN
11  3.0
12  NaN
13  NaN
14  4.0
15  NaN
16  4.0

所以我的结果数据框如下所示。我该怎么办?我的第一种方法是使用带有isinstance(x,int)的枚举和条件语句。

0   NaN
1   2.0
2   2.0
3   2.0
4   2.0
5   NaN
6   NaN
7   3.0
8   3.0
9   3.0
10  3.0
11  3.0
12  NaN
13  NaN
14  4.0
15  4.0
16  4.0

1 个答案:

答案 0 :(得分:2)

ffill + bfill mask

i = s.ffill()
i.mask(i != s.bfill())

0     NaN
1     2.0
2     2.0
3     2.0
4     2.0
5     NaN
6     NaN
7     3.0
8     3.0
9     3.0
10    3.0
11    3.0
12    NaN
13    NaN
14    4.0
15    4.0
16    4.0
Name: 1, dtype: float64

s是您的专栏 我真的很喜欢这个的简洁。