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

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如何將嵌套數(shù)據(jù)幀 groupby 循環(huán)合并到 Python 的遞歸函數(shù)中?

如何將嵌套數(shù)據(jù)幀 groupby 循環(huán)合并到 Python 的遞歸函數(shù)中?

千萬里不及你 2023-06-27 13:41:08
我在創(chuàng)建可以執(zhí)行嵌套循環(huán)的遞歸函數(shù)時(shí)遇到問題。這是一個(gè)例子。假設(shè)我有一個(gè)數(shù)據(jù)框,如下所示:col1 col2 col3 col4A    1    Y    10A    1    Y    19A    1    N    20A    2    Y    21A    3    N    22C    3    N    23我想對 col1,col2,col3 進(jìn)行分組,然后計(jì)算 col4 的總和。正常的代碼塊看起來像這樣。for code,val in df.groupby(by='col1'):    for codee,vall in val.groupby(by='col2'):        for codeee,valll in vall.groupby(by='col3):            answer=sum(valll['col4'])但我想創(chuàng)建一個(gè)遞歸函數(shù)來完成這項(xiàng)任務(wù)。這是我到目前為止所得到的。real=[]def groupby_recurse(data, levels):    layer = len(levels)    if layer >= 1:        for code, val in data.groupby(by=levels[-layer]):            groupby_recurse(val, levels[(-layer + 1):])    else:        real.append(sum(data['col4']))    return realdf = pd.DataFrame([['A', 1, 'Y', 10], ['A', 1, 'Y', 19], ['A', 1, 'N', 20], ['A', 2, 'Y', 21],                   ['A', 2, 'Y', 22], ['C', 3, 'N', 23]], columns=['col1', 'col2', 'col3', 'col4'])groupby_recurse(df, ['col1', 'col2', 'col3'])這個(gè)函數(shù)有一個(gè)嚴(yán)重的問題。當(dāng)layer=2,-layer+1=-1時(shí),我位于groupby鍵列表的最后一個(gè)元素,但是進(jìn)入下一輪,當(dāng)layer=1且-layer+1=0時(shí),它突然跳到第一個(gè)groupby 鍵列表的元素,并且它會(huì)永遠(yuǎn)持續(xù)下去。我該如何解決這個(gè)問題?任何幫助深表感謝。干杯。預(yù)期輸出是包含所有總和值的列表。第一個(gè)值是 29。因?yàn)閷λ腥羞M(jìn)行分組后,df 看起來像這樣col1 col2 col3 col4    A    1    Y    10    A    1    Y    19接下來是 20,因?yàn)榉纸M后 df 看起來像這樣。col1 col2 col3 col4A    1    N    20然后就是21了。col1 col2 col3 col4A    2    Y    21....最終結(jié)果將是[29,20,21,22,23]。希望這是有道理的。
查看完整描述

1 回答

?
九州編程

TA貢獻(xiàn)1785條經(jīng)驗(yàn) 獲得超4個(gè)贊

您不需要遞歸,只需執(zhí)行以下操作:

df = df.groupby(['col1', 'col2', 'col3'])['col4'].sum().reset_index()


查看完整回答
反對 回復(fù) 2023-06-27
  • 1 回答
  • 0 關(guān)注
  • 142 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號