我有一个整数值的数据帧列,它们之间有空的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
答案 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
是您的专栏
我真的很喜欢这个的简洁。