简体   繁体   中英

Exact string match str.count(), pandas python

Counting the column contents for each category, have a set of categories

  1. Male-Cat,
  2. Female-Cat,
  3. Male-Cat-Female

With df.temp.str.count(i) , it is showing Male-Cat count as '2' , which when search in data that is only '1' , wrongly including substring of third category.

Any help will be appreciated.

You need use regex from 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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM