У меня есть этот скрипт на Python 3, который использует модуль «коллекций», чтобы просто распечатывать общие слова в блоке текста и сколько раз эти слова появляются в этом тексте.
word_counter = collections.Counter(text)
for word, count in word_counter.most_common(10):
print(word, ": ", count)
Например, он может распечатать это:
- красный: 5
- солнце: 2
- Планета: 10
- Луна: 7
- водород: 22 * 1015 *
У меня есть другой скрипт, который использует библиотеку matplotlib и генерирует гистограмму:
words = ('red', 'Sun', 'planet', 'moon', 'hydrogen')
y_pos = np.arange(len(words))
wordCount = [5,2,10,7,22]
plt.bar(y_pos, wordCount, align='center', alpha=0.5)
plt.xticks(y_pos, words)
plt.ylabel('Count')
plt.title('Common Word Count')
plt.savefig('wordcount.png')
plotImage = "wordcount.png"
htmldata = """
<div>
<img src="{plotImage}" />
</div>""".format(plotImage = plotImage)
print(htmldata)
Итак, вы можете видеть, что я помещаю статические данные в этот скрипт для слов и wordCount.
Есть ли способ объединить два моих сценария, чтобы они работали вместе? Таким образом, переменные «words» и «wordCount» будут заполнены данными из цикла «for word, count ...»?
Таким образом, я мог бы передать ему любой текст или параграф, который мне нужен, и не нужно было бы жестко кодировать какие-либо значения.
Я попытался добавить эти две строки в цикле «for word, count ...»:
myWords = myWords + word + ","
myCount += [count]
Но это выдает эту ошибку:
ValueError: несоответствие формы: объекты не могут быть переданы одному
форма
Спасибо!