我有一個(gè)數(shù)據(jù)框如下:dfID val1 0.02 yes3 1.04 0.05 yes如果列 val 等于“yes”,如何將先前值與當(dāng)前值匹配我嘗試過(guò)df['val'] = df['val'].replace('yes', np.nan).bfill().astype(str),但無(wú)法按預(yù)期工作。期望的輸出ID val1 yes2 yes3 1.04 yes5 yes我們可以將 np.where 與 bfill 一起使用嗎?該怎么做呢?
1 回答

慕斯王
TA貢獻(xiàn)1864條經(jīng)驗(yàn) 獲得超2個(gè)贊
怎么樣:
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
添加回答
舉報(bào)
0/150
提交
取消