определить aggfunc с двумя столбцами в качестве аргументов в сводной таблице панд - PullRequest
0 голосов
/ 09 мая 2018

Мне нужен только один столбец значений в результате в приведенном ниже коде:

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

1 Ответ

0 голосов
/ 09 мая 2018

Я думаю, что вы ищете groupby и apply

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
...