第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

具有 2 個或更多變量的 python pandas lambda

具有 2 個或更多變量的 python pandas lambda

浮云間 2021-08-11 17:40:55
我有一個數(shù)據(jù)框,我想在其中添加一個列,其中包含基于 2(可能是 3)個不同列中的條件的值的條件總和。我正在嘗試使用 lambda 函數(shù),例如:df['newColumn'] = df[['colA','colB']].apply(lambda x,y: df.loc[df['colA']==x].loc[df['colB']==y]['Total Amount'].sum())這種方法不起作用,盡管當我單獨測試 .loc 語句并使用值代替 x 和 y 時,我確實得到了正確的總和。如果可能的話,我想引入另一列。我得到的錯誤是:“()缺少 1 個必需的位置參數(shù):'y'”,'發(fā)生在索引 colA。非常感謝任何幫助,
查看完整描述

1 回答

?
Helenr

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

我的猜測是你想要這個:


df = pd.DataFrame({'A': [1,1,2,2,3,3],

                   'B': [2,2,2,3,3,3],

                   'TotalAmount': [10,20,30,40,50,60]})


df['NewColumn'] = df.groupby(['A', 'B'])['TotalAmount'].transform('sum')

df

#   A  B  TotalAmount  NewColumn

#0  1  2           10         30

#1  1  2           20         30

#2  2  2           30         30

#3  2  3           40         40

#4  3  3           50        110

#5  3  3           60        110


查看完整回答
反對 回復 2021-08-11
  • 1 回答
  • 0 關注
  • 333 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

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

公眾號

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