gpt4 book ai didi

pandas - 使用两列定义 aggfunc 作为 Pandas 数据透视表中的参数

转载 作者:行者123 更新时间:2023-12-02 02:54:33 24 4
gpt4 key购买 nike

我只想要一个值列作为结果在下面的代码:

df = pd.DataFrame({'team':['a','a'],'balance':[100,3],'dpd':[0,60]})
df.pivot_table(index='team',values=['balance','dpd'],
aggfunc=lambda x: np.sum(np.where(x.dpd>=30,x.balance,0))/np.sum(x.balance))

这个返回:
      balance      dpd
team
a 0.029126 0.029126

但是,我想要的是一个具有新名称的列:
        dqratio
team
a 0.029126

最佳答案

我认为您正在寻找 groupbyapply

df.groupby('team').apply(lambda x: np.sum(np.where(x['dpd']>=30,x['balance'],0))/np.sum(x['balance'])).to_frame('dqratio')
dqratio
team
a 0.029126

关于pandas - 使用两列定义 aggfunc 作为 Pandas 数据透视表中的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50244142/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com