sumif函数在excel函数中是使用非常普遍的一个函数,那么在pandas中该如何实现呢?
如下所示,我们需要根据df2提供的销售人员名单,求出在df1中的销售人员对应的销售额的和:
>>> import pandas as pd
>>> import numpy as np
>>> df1 = pd.read_excel(r'D:/myExcel/1.xlsx', sheet_name='Sheet1')
>>> df2 = pd.read_excel(r'D:/myExcel/1.xlsx', sheet_name='Sheet2')
>>> df1
销售人员 销售额
0 张三 100
1 李四 200
2 张三 100
3 王五 100
4 王五 300
>>> df2
销售人员 销售额
0 张三 200
1 李四 200
运用apply函数求出结果如下:
>>> df2['销售额'] = df2.销售人员.apply(lambda x : df1.销售额.loc[df1.销售人员 == x].sum())
>>> df2
销售人员 销售额
0 张三 200
1 李四 200
关于apply函数以及loc函数的用法可以查看我以前的文章:
python pandas中的apply函数
python pandas df.loc[]的典型用法
哈哈,以上就是python小工具关于pandas实现excel中的sumif函数的用法,还是比较方便的。
有兴趣欢迎关注python小工具,一起学习python和pandas