首页 > 解决方案 > Python DataFrame:根据条件从数据框列中获取计数?

问题描述

            name              status
    0       alex                pass
    1       alex                pass
    2       alex                unknown
    3       marcus              pass
    4       marcus              fail
    5       anthony             fail
    6       paul                pass
    7       paul                unknown
    8       paul                fail
    9       paul                pass

如果一个name列记录有status = pass。我正在尝试计算status = pass

            name            count      
    0       alex              2   
    1       marcus            1     
    2       anthony           0       
    3       paul              2

标签: pythonpandasnumpydataframe

解决方案


您可以聚合sum布尔掩码,因为Trues 的处理方式如下1

df = df['status'].eq('pass').groupby(df['name']).sum().reset_index(name='count')
print (df)
      name  count
0     alex      2
1  anthony      0
2   marcus      1
3     paul      2

推荐阅读