Для текущего проекта я планирую подсчитать количество определенных c слов в наборе данных.
Для строки кода count = word.count(wordlist)
, однако, я получаю следующую ошибку TypeError: must be str, not list
. Есть ли какой-нибудь умный способ заставить Python принимать список слов, чтобы проверять не только одно конкретное c, но и несколько слов?
Соответствующий код выглядит так:
# Word frequency analysis
def get_top_n_bigram(corpus, n=None):
vec = CountVectorizer(ngram_range=(2, 2), stop_words='english').fit(corpus)
bag_of_words = vec.transform(corpus)
sum_words = bag_of_words.sum(axis=0)
words_freq = [(word, sum_words[0, idx]) for word, idx in vec.vocabulary_.items()]
words_freq =sorted(words_freq, key = lambda x: x[1], reverse=True)
return words_freq[:n]
# Analysis loops running through different string sections
for i in ['Text_Pro','Text_Con','Text_Main']:
common_words = get_top_n_bigram(df[i], 500)
for word, freq in common_words:
print(word, freq)
# Analysis loops checking if specific words are found
for word in common_words:
wordlist = ['good', 'management', 'bad']
count = word.count(wordlist)
print(count)