当前位置:首页 > 行业动态 > 正文

pandas实现sumif

在Pandas中,我们可以使用DataFrame.loc[]和DataFrame.sum()方法来实现类似于Excel中的SUMIF函数的功能,以下是一个简单的例子:

pandas实现sumif  第1张

我们需要导入pandas库并创建一个DataFrame:

import pandas as pd
data = {'A': [1, 2, 3, 4, 5],
        'B': [10, 20, 30, 40, 50],
        'C': ['a', 'b', 'a', 'b', 'a']}
df = pd.DataFrame(data) 

现在,我们有一个如下所示的DataFrame:

 A   B  C
0  1  10  a
1  2  20  b
2  3  30  a
3  4  40  b
4  5  50  a 

接下来,我们将实现一个名为sumif的函数,该函数接受一个DataFrame、一个条件列名和一个值作为输入,并返回满足条件的列的总和:

def sumif(df, condition_column, value):
    return df.loc[df[condition_column] == value, 'B'].sum() 

现在,我们可以使用这个函数来计算满足条件的列的总和:

result = sumif(df, 'C', 'a')
print(result)  # 输出:90 

在这个例子中,我们计算了列’B’中满足列’C’值为’a’的所有行的总和,结果是90。

0