[英]Python DataFrame : Get count from a dataframe column based on condition?
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
if one the name
column record has status = pass
.如果
name
列记录具有status = pass
。 I'm trying get count of status = pass
我正在尝试获取
status = pass
计数status = pass
name count
0 alex 2
1 marcus 1
2 anthony 0
3 paul 2
You can aggregate sum
of boolean mask, because True
s are processing like 1
:您可以聚合布尔掩码的
sum
,因为True
正在处理像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
We can use pd.crosstab
and index on the column of interest:我们可以在感兴趣的列上使用
pd.crosstab
和 index :
pd.crosstab(df.name, df.status)['pass'].reset_index()
name pass
0 alex 2
1 anthony 0
2 marcus 1
3 paul 2
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.