Я очень новичок в python и мне нужна помощь. У меня есть список ключевых слов, который был получен из фрейма данных следующим образом: key_a_list = df_key_words['words'].tolist()
У меня есть второй фрейм данных, который состоит из утверждений: df_response['statement']
Я уже исправил орфографические ошибки, токенизировал и остановил текст в столбце df_response['statement']
. Мне нужно проверить, есть ли в key_a_list
слова, совпадающие со словами в df_response['statement']
; затем я должен установить счетчик, чтобы подсчитать, сколько раз слово из key_a_list
присутствует в df_response['statement']
.
Спасибо за ваше время и помощь, это очень ценится :)
Это текущий код, который у меня есть, но он выдает ошибку: ValueError: Длина должна совпадать для сравнения
count_a = 0
def count(x):
for x in key_a_list:
if key_a_list == df_response['statement']:
count_a = count_a + 1
return count_a
df_response['statement'] = df_response['statement'].apply(lambda x: " ".join([count(x) for word in x.split()]))
key_a_list состоит из таких слов, как: ['думай', 'колледж', 'образование', 'помогай', 'лучше', 'готовься', 'карьера', 'выбрал', 'в конце концов' , «включить», «войти», «работа», «рынок», «поле», «как», «сделать», «выбор», «социальный», «ориентация», «верить», «дополнительный», « год »,« улучшить »,« компетентность »,« работник »,« доказать »,« способный »,« завершить »,« степень »,« богатый »,« преуспеть »,« почувствовать »,« важно »,« показать » , «умный», «человек», «порядок», «зарплата», «позже», «на», «хочу», «то», «хорошо», «жизнь», «учеба», «старшая школа», « актуарий ',' найти ',' высокая оплата ',' получить ',' престижный ']
df_response [' заявление '] выглядит следующим образом:
statement
0 parent said
1 want make difference
2 dont know
3 rich
4 go career want
5 actuary
6 social life
7 expected society
, где желаемый результат df_response:
statement count_a
0 parent said 0
1 want make difference 2
2 dont know 0
3 rich 1
4 go career want 2
5 actuary 1
6 social life 2
7 expected society 0