我有一个这样的数据框:
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')
有人可以建议正确的语法是什么,或建议另一种方法吗?
最佳答案
如果需要标量答案,可以使用以下命令:
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