Я новичок в Python, поэтому, пожалуйста, помогите) У меня есть датафрейм, который выглядит следующим образом: dataframe
Мне удалось подсчитать все вхождения каждого биграмма, которые вы можете увидеть в коде, но мне также нужно суммировать другие значения, частью которых является данный биграмм.
Пробовал перебирать фрейм данных с пользовательским словарем и столкнулся с множеством проблем.
import nltk
nltk.download('averaged_perceptron_tagger')
nltk.download('punkt')
counts = collections.Counter()
for sent in df["Search term"]:
words = nltk.word_tokenize(sent)
counts.update(nltk.bigrams(words))
counts.most_common(10)
моя попытка выглядела так, но я не могу перебрать биграммы:
import nltk
nltk.download('punkt')
word_dictionary = dict()
for row in df.itertuples():
words = nltk.word_tokenize(str(row[0]))
print(nltk.bigrams(words))
for bigram in nltk.bigrams(words):
print(bigram)
if bigram in word_dictionary:
word_dictionary[bigram][0], word_dictionary[bigram][1] = (word_dictionary[bigram][0] + row[14]) , (word_dictionary[bigram][1] + row[15])
else:
word_dictionary[bigram]= (row[14]) , (row[15])
print(word_dictionary)
конечный результат должен быть похож на отсортированный словарь (по первому значению,сказать пункты), где меня не волнует форматирование:
перейти к (23, 30) перейти к (10, 15)
и т. д.