我有一个这样的数据框:
name . profession
Alex . Data Analyst
Markus . Sales Manager
Carlos . Credit Analyst
Otavio . HR Manager
...
我需要知道这个数据框中有多少人在其职业中拥有字符串“Analyst”。答案应该是2。
我正在尝试使用groupby
和get_group
,但我找不到将其放入get_group
语法的正确方法。
现在我在这里:
df.groupby('profession').get_group(???).agg('count')
有人可以建议什么是正确的语法或建议另一种方法吗?
答案 0 :(得分:2)
如果您想要标量答案,可以使用以下命令:
df.profession.str.contains('Analyst').sum()
输出:
2
或者作为groupby
的数据框:
df.assign(is_analyst = df.profession.str.contains('Analyst'))\
.groupby('is_analyst')['name']\
.size()
输出:
is_analyst
False 2
True 2
Name: name, dtype: int64