精确的字符串匹配str.count(),pandas python

时间:2017-10-16 06:59:51

标签: python string pandas numpy

计算每个类别的列内容,有一组类别

  1. 男 - 猫,
  2. 女 - 猫,
  3. 男-CAT-女
  4. 使用df.temp.str.count(i)时,它会将男性猫计数显示为'2',当搜索仅'1'的数据时,错误地包含第三类子字符串。

    任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:2)

您需要使用here中的正则表达式:

df['count'] = df.temp.str.count(r'(?<!\S)Male-Cat(?!\S)')
print (df)

                                           temp  count
0  Male-Cat Female-Cat Male-Cat-Female Male-Cat      2
1                               Male-Cat-Female      0
2                                      Male-Cat      1
3             Male-Cat Male-Cat Male-Cat-Female      2
4                    Male-Cat Male-Cat Male-Cat      3