【发布时间】:2017-11-16 20:36:59
【问题描述】:
我有一个这样的数据框:
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')
有人可以建议什么是正确的语法或建议另一种方法吗?
【问题讨论】:
-
值得一提的是,一般情况下,您不能 get_group 获取子字符串。您可以做的是通过 trie 或其他方式获得,大多数情况下 .str.contains 会更快(尽管它可能是 O(n) 可能是一个问题),但是如果您要重新计算许多“针”,它可以值得索引 groupby 键(例如使用 trie)。