pandas 计数和求和特定条件

2022-01-09 00:00:00 python pandas sum

问题描述

pandas 中是否有单个函数可以执行 SUMIF,对特定条件和 COUNTIF,从 Excel 中计算特定条件的值?

Are there single functions in pandas to perform the equivalents of SUMIF, which sums over a specific condition and COUNTIF, which counts values of specific conditions from Excel?

我知道有很多多步函数可以用于

I know that there are many multiple step functions that can be used for

例如对于 sumif 我可以使用 (df.map(lambda x: condition) 或 df.size()) 然后使用 .sum()

for example for sumif I can use (df.map(lambda x: condition), or df.size()) then use .sum()

对于 countif 我可以使用 (groupby functions 并寻找我的答案或使用过滤器和 .count())

and for countif I can use (groupby functions and look for my answer or use a filter and the .count())

是否有简单的一步过程来执行这些功能,您可以输入条件和数据框并获得总和或计数结果?

Is there simple one step process to do these functions where you enter the condition and the data frame and you get the sum or counted results?


解决方案

可以先做一个条件选择,用sum函数对选择的结果求和.

You can first make a conditional selection, and sum up the results of the selection using the sum function.

>> df = pd.DataFrame({'a': [1, 2, 3]})
>> df[df.a > 1].sum()   
a    5
dtype: int64

有多个条件:

>> df[(df.a > 1) & (df.a < 3)].sum()
a    2
dtype: int64

如果你想做COUNTIF,只需将sum()替换成count()

If you want to do COUNTIF, just replace sum() with count()

相关文章