亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

python pandas如果精確id連續出現n次,如何更改值

python pandas如果精確id連續出現n次,如何更改值

桃花長相依 2023-10-26 10:36:57
如果值 Positive 在我的 pandas 數據框中連續出現超過 2 次(變為 Negative),我需要更改數據集的值,并且如果它是不同的 id,我也需要按 id 設置 id。如果Negative 在行循環中中斷超過2 次,或者Negative 在一行中出現超過2 次,則不執行任何操作。例子:    id   status0   3    Positive1   3    Positive2   3    Positive3   2    Positive4   1    Positive5   2    Positive    6   2    Positive7   2    Positive得到的 df 應該是:    id   status0   3    Positive1   3    Positive2   3    Negative3   2    Positive4   1    Positive5   2    Positive    6   2    Negative7   2    Negative
查看完整描述

1 回答

?
慕田峪7331174

TA貢獻1828條經驗 獲得超13個贊

我們可以使用來計算, thengroupby().cumcount()的出現次數:idnp.where


mask = (df['status'].eq('Positive')  # check for positive

            .groupby(df['id'])       # group by id

            .transform(lambda x:x.rolling(3).sum()) # count the consecutive positive in the last 3

            .eq(3)

       )

df.loc[mask, 'status'] = 'Negative'

輸出:


   id    status

0   3  Positive

1   3  Positive

2   3  Negative

3   2  Positive

4   1  Positive

5   2  Positive

6   2  Negative

7   2  Negative


查看完整回答
反對 回復 2023-10-26
  • 1 回答
  • 0 關注
  • 120 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號