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

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

在 Pandas DataFrame 中重新分配最大值

在 Pandas DataFrame 中重新分配最大值

一只斗牛犬 2022-06-14 17:16:51
我有一個看起來像這樣的 DataFrame:id OUTCOMEA    0A    1A    0B    0B    0B    0C    0C    1C    1如何重新分配結果值,使它們等于每組的最大值?換句話說,結果應該是這樣的:id OUTCOME A    1 A    1 A    1 B    0 B    0 B    0 C    1 C    1 C    1我試過這樣做:id_tuple = ('A', 'B', 'C')g = df.groupby('id')for item in id_tuple:    new_df = g.get_group(item)    new_df['OUTCOME'] = new_df['OUTCOME'].max()    df2 = pd.concat([df2, new_df], axis=0)這需要很長時間,所以我正在尋找更好的方法。我很感激你的建議!
查看完整描述

1 回答

?
一只名叫tom的貓

TA貢獻1906條經驗 獲得超3個贊

您可以先按'id' 列分組,然后.transform(..)對OUTCOME列執行 a :


df['OUTCOME'] = df.groupby('id')['OUTCOME'].transform('max')

然后我們得到:


>>> df

  id  OUTCOME

0  A        1

1  A        1

2  A        1

3  B        0

4  B        0

5  B        0

6  C        1

7  C        1

8  C        1


查看完整回答
反對 回復 2022-06-14
  • 1 回答
  • 0 關注
  • 94 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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