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

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

熊貓:以其他列為條件的groupby總和

熊貓:以其他列為條件的groupby總和

蕪湖不蕪 2023-02-12 19:07:05
我有一個看起來像這樣的數據框pd.DataFrame({'a':['A', 'B', 'B', 'C', 'C', 'D', 'D', 'E'],              'b':['Y', 'Y', 'N', 'Y', 'Y', 'N', 'N', 'N'],              'c':[20, 5, 12, 8, 15, 10, 25, 13]})   a  b   c0  A  Y  201  B  Y   52  B  N  123  C  Y   84  C  Y  155  D  N  106  D  N  257  E  N  13我想對“a”列進行分組,檢查“b”列中的任何一個是否為“Y”或 True 并保留該值,然后對“c”求和結果數據框應該是這樣的   a  b   c0  A  Y  201  B  Y  172  C  Y  233  D  N  354  E  N  13我嘗試了以下但出現錯誤df.groupby('a')['b'].max()['c'].sum()
查看完整描述

1 回答

?
尚方寶劍之說

TA貢獻1788條經驗 獲得超4個贊

您可以使用agg和max。sum'b' 列上的最大值確實有效,因為 'Y' > 'N' == True


print(df.groupby('a', as_index=False).agg({'b': 'max', 'c': 'sum'}))


   a  b   c

0  A  Y  20

1  B  Y  17

2  C  Y  23

3  D  N  35

4  E  N  13


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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