[英]How to make current row value equal to previous row value if a column equals a value in Pandas?
我有一個如下的數據框:
df
ID val
1 0.0
2 yes
3 1.0
4 0.0
5 yes
如果列 val 等於“是”,我如何將前一個值與當前值匹配
我試過df['val'] = df['val'].replace('yes', np.nan).bfill().astype(str)
,但不會按預期工作。
期望的輸出
ID val
1 yes
2 yes
3 1.0
4 yes
5 yes
我們可以將 np.where 與 bfill 一起使用嗎? 怎么辦?
怎么樣:
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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.