Привет всем :) Я надеюсь, что вы хорошо. Я новичок в python и у меня проблема с получением точного соответствия слов. У меня есть список слов key_list
, и мне нужно использовать этот список для l oop через строковый фрейм данных df['response']
, чтобы подсчитать, сколько раз слово из key_list
появляется во фрейме данных df['response']
.
В настоящее время это код, который я использую:
df['count_response']=df['response'].str.count('|'.join(key_list))
Это вывод, который я получаю:
key_list: ['honestli', 'know', 'realli', 'feel', 'wast', 'time', 'school', 'good', 'reason', 'go', 'colleg',
'howev', 'wonder', 'whether', 'continu', 'cant', 'see', 'frankli', 'care', 'less', 'understand']
response count_response
0 parent said 0
1 want make differ 0
2 dont know 1
3 rich 0
4 go career want 2
5 actuari 0
6 social life 0
7 expect societi 0
8 0
9 help peopl 0
10 realli love learn 1
11 money 0
12 passion field 0
13 happi learn econom 0
14 want uplift peopl 0
К сожалению, это не правильный вывод , В строке 4 count_response получает значение 2; однако в key_list
присутствует только слово "go". Я подозреваю, что python считает слово «забота» (что в key_list
) и находится в пределах слова «карьера», но это слово не должно учитываться, поскольку мне нужно точное совпадение слов.
Спасибо за ваше время, я благодарен за любые ответы!