Jim*_*y C 69
您可以先进行条件选择,然后使用该sum函数汇总选择的结果.
>> df = pd.DataFrame({'a': [1, 2, 3]})
>> df[df.a > 1].sum()
a 5
dtype: int64
Run Code Online (Sandbox Code Playgroud)
有多个条件:
>> df[(df.a > 1) & (df.a < 3)].sum()
a 2
dtype: int64
Run Code Online (Sandbox Code Playgroud)
Tho*_*anz 35
您没有提到数据帧的花哨索引功能,例如:
>>> df = pd.DataFrame({"class":[1,1,1,2,2], "value":[1,2,3,4,5]})
>>> df[df["class"]==1].sum()
class 3
value 6
dtype: int64
>>> df[df["class"]==1].sum()["value"]
6
>>> df[df["class"]==1].count()["value"]
3
Run Code Online (Sandbox Code Playgroud)
您可以替换df["class"]==1另一个条件.
dan*_*345 10
我通常在逻辑条件列上使用 numpy sum:
>>> import numpy as np
>>> import pandas as pd
>>> df = pd.DataFrame({'Age' : [20,24,18,5,78]})
>>> np.sum(df['Age'] > 20)
2
Run Code Online (Sandbox Code Playgroud)
在我看来,这比上面提出的解决方案略短