首页 > 解决方案 > 计算熊猫中一堆特定关键字出现次数的最有效方法是什么?

问题描述

我知道在 pandas 数据框中获取特定关键字的计数的方法,但我想知道是否有任何有效的方法可以将一组特定关键字中的每一个都一起获取而不是一个一个地进行?

标签: pythonpandasdataframe

解决方案


这不是一个好问题,因为细节太少了,但我假设您有一系列字符串,每个字符串都包含一些由“分隔符”分隔的“单词”,并且您有一个您想要的关键字主列表每行的计数?在这种情况下,

>>> import pandas as pd, re
>>> s = pd.Series(['a,b', 'b,c', 'c'])   
>>> s
0    a,b
1    b,c
2      c
dtype: object
>>> keywords = ['a', 'b'] 
>>> pattern = re.compile('|'.join(map(re.escape, keywords)))  # Form regex matching any keyword
>>> s.str.count(pattern)
0    2
1    1
2    0
dtype: int64

推荐阅读