等同于python中SUMIF()的lambda函数

时间:2018-12-02 21:40:50

标签: python pandas lambda

我有一个带有2列的熊猫数据框,分别是“行业代码”和“金额”。如何在单个lambda函数上根据其行业代码对金额的所有实例求和? (相当于excel中的sumif()),我尝试了以下方法:

enter image description here

fun= lambda x,y: sum(x[i])/len(x[i]) in y[i]

我得到结果<function __main__.<lambda>> 有什么想法吗?

2 个答案:

答案 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