我有一个带有2列的熊猫数据框,分别是“行业代码”和“金额”。如何在单个lambda函数上根据其行业代码对金额的所有实例求和? (相当于excel中的sumif()),我尝试了以下方法:
fun= lambda x,y: sum(x[i])/len(x[i]) in y[i]
我得到结果<function __main__.<lambda>>
有什么想法吗?
答案 0 :(得分:1)
lambda
创建一个函数,这就是您要分配给fun
的函数。您需要将该函数应用于参数才能进行求和。
答案 1 :(得分:0)
为什么不简单地使用groupby
?
df = pd.DataFrame([['Aero', 'Energy', 'Aero', 'Hydra', 'Energy'],
[2, 5, 8, 6, 5]]).T
df.columns=['industry', 'amount']
df
industry amount
0 Aero 2
1 Energy 5
2 Aero 8
3 Hydra 6
4 Energy 5
df.groupby('industry').sum()
amount
industry
Aero 10
Energy 10
Hydra 6