df = pd.DataFrame({'cost_center':['A', 'A', 'A', 'B', 'B','B','C', 'C', 'C', 'D', 'D','D'],
'cost_type': ['payroll','depreciation', 'software','payroll','depreciation', 'software','payroll','depreciation', 'software','payroll','depreciation', 'software'],
'the_amount': [0,11,11,11,11,11,11,11,11,0,11,11,]})
output
cost_center cost_type the_amount
A payroll 0
A depreciation 11
A software 11
B payroll 11
B depreciation 11
B software 11
C payroll 11
C depreciation 11
C software 11
D payroll 0
D depreciation 11
D software 11
Я хочу суммировать the_amount ТОЛЬКО для cost_centers, где cost_type для расчета заработной платы имеет the_amount = 0
Я пробовал такие вещи, как
df_cost_centers_without_payroll=df.groupby('Cost Center').filter(lambda x: x['cost_type'] == 'payroll' & x['the_amount'] == 0 )
Я бы хотел увидеть что-то вроде ниже. Так как только у cost_centers 'A' и 'D' есть сумма начисления заработной платы, которая = 0, это только покажет A и D.
cost_center amount
A 22
D 22