我有一個數據框如下: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
提交
取消