Python | Подсчет слов в кадре данных, которые соответствуют заранее заданному списку слов - PullRequest
0 голосов
/ 02 апреля 2020

Я пытаюсь посчитать слова в столбце Dataframe, состоящем из речей. Я создал списки со словами, связанными с различными темами, например:

Care = [safe, peace, compassion, empath, care, caring, protect, shield, shelter]

Теперь я хотел бы подсчитать, сколько раз в общей сложности слова из списка «Уход» встречаются в каждой речи, и затем добавьте новый столбец в конце df с количеством каждой строки.

Я сейчас использую этот код.

df = df.assign(Care=df['speech'].str.count('|'.join(care)))

Но я подозреваю, что он дает мне частичное соответствует также. Я хотел бы получить совпадение только тогда, когда слова соответствуют целому слову в моем списке. Есть идеи?

1 Ответ

0 голосов
/ 02 апреля 2020

Если в речи нет знаков препинания, это может сработать -

df['count'] = df['speech'].apply(lambda x: len([val for val in x.split() if val in Care]))
...