我想按照示例所示填充数据框的列。
df=pd.DataFrame({'A':['a','','','a','','b','b','','b','']})
我想在具有相同值的两行之间替换空值: 输出:
我们可以做到没有麻烦吗?
答案 0 :(得分:3)
首先将空字符串替换为缺失值,然后比较正向和回填值并仅使用匹配的值:
df=pd.DataFrame({'A':['a','','','a','','b','b','','b','']})
s = df.A.replace('', np.nan)
s1 = s.ffill()
s2 = s.bfill()
df.A = s1.where(s1.eq(s2), '')
print (df)
A
0 a
1 a
2 a
3 a
4
5 b
6 b
7 b
8 b
9