[閒聊] 如何讓值在一段範圍內一直+1

看板Python作者 ( )時間4年前 (2021/01/24 20:15), 編輯推噓0(002)
留言2則, 1人參與, 4年前最新討論串1/1
如題 請問一下各位前輩 我想要讓dataframe columns資料中 在某一段時間一直持續+1 ex: trigger hold 0 0 0 1 0 0 2 1 0 3 0 1 4 0 2 5 0 3 6 0 4 7 -1 5 有一個trigger資料1的時候 hold下一列開始持續+1直到 trigger有-1出現就停止 原本想說很單純用 df.loc[df.trigger.shift(1)==1,['hold']]=1 df.loc[df.hold.shift(1)!=0,['hold']]=df.hold.shift(1)+1 但第一行可以出現我要的 但第二行不行 可否請問一下前輩問題出在哪 或是有甚麼建議的寫法呢 感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.229.185.234 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1611490558.A.36E.html

01/25 11:13, 4年前 , 1F
df.hold = df.trigger.cumsum()
01/25 11:13, 1F

01/25 11:13, 4年前 , 2F
df.hold = df.hold.cumsum().shift(1).fillna(0)
01/25 11:13, 2F
文章代碼(AID): #1W3MJ-Dk (Python)
文章代碼(AID): #1W3MJ-Dk (Python)