У меня есть кадр данных, как показано ниже:
data = {'speaker':['Adam','Ben','Clair'],
'speech': ['Thank you very much and good afternoon.',
'Let me clarify that because I want to make sure we have got everything right',
'By now you should have some good rest']}
df = pd.DataFrame(data)
Я хочу подсчитать количество слов в речевом столбце, но только для слов из предварительно определенного списка. Например, список:
wordlist = ['much', 'good','right']
Я хочу создать новый столбец, который показывает частоту этих трех слов в каждой строке. Таким образом, мой ожидаемый результат:
speaker speech words
0 Adam Thank you very much and good afternoon. 2
1 Ben Let me clarify that because I want to make sur... 1
2 Clair By now you should have received a copy of our ... 1
Я пытался:
df['total'] = 0
for word in df['speech'].str.split():
if word in wordlist:
df['total'] += 1
Но после его запуска столбец total
всегда равен нулю. Мне интересно, что не так с моим кодом?