我有一个数据框如下:dfID val1 0.02 yes3 1.04 0.05 yes如果列 val 等于“yes”,如何将先前值与当前值匹配我尝试过df['val'] = df['val'].replace('yes', np.nan).bfill().astype(str),但无法按预期工作。期望的输出ID val1 yes2 yes3 1.04 yes5 yes我们可以将 np.where 与 bfill 一起使用吗?该怎么做呢?
1 回答
慕斯王
TA贡献1864条经验 获得超2个赞
怎么样:
df.loc[df['val'].shift(-1).eq('yes'), 'val'] = 'yes'
输出:
ID val
0 1 yes
1 2 yes
2 3 1.0
3 4 yes
4 5 yes
添加回答
举报
0/150
提交
取消