Как просмотреть и сохранить WordCloud, созданный в Python

Я пытаюсь создать WordCloud в Python из файла .csv.

Вот как выглядит мой файл .csv:

title,views
universe,45678
earth,34366
smtp,4567987

Вот что я сделал для создания WordCloud:

import csv
import matplotlib.pyplot as pPlot
from wordcloud import WordCloud, STOPWORDS

reader = csv.reader(open('C:/Users/Sushma/Downloads/wordcloud.csv', 'r', newline = '\n', encoding = 'utf-8'))

for k, v in reader:
    d[k] = float(v)

wordcloud = WordCloud().generate_from_frequencies(d)

Если я печатаю WordCloud, я получаю идентификатор объекта.

Может ли кто-нибудь предложить, как сохранить это как изображение и как просмотреть его на Python?

Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
2
0
1 730
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Во-первых, в вашем коде есть некоторые ошибки:

1. .csv файл необходимо поместить в list для чтения:

with open('C:/Users/Sushma/Downloads/wordcloud.csv', 'r', encoding = 'utf8', newline = '\r\n') as file:
    reader = csv.reader(file, skipinitialspace = False, delimiter = ',', quoting = csv.QUOTE_NONE)
    data = list(reader)

2. После этого необходимо создать dictionary, который содержит ключ и значение в формате int, чтобы позже мы могли создать WordCloud:

word_freq = {}
for k, v in data[1:]:
   word_freq[k] = int(v)

Теперь вам нужно создать variable, который будет получать произведение между текстом и его частотой:

text = ' '.join([(k + ' ') * v for k, v in word_freq.items()])

Затем вы создадите WordCloud, который получит эту переменную text:

wordcloud = WordCloud(width = 1600,
                      height = 800,
                      background_color = 'white',
                      collocations = False,
                      repeat = True).generate_from_text(text)

plt.figure(figsize=(10,5))
plt.imshow(wordcloud, interpolation = "bilinear")
plt.axis('off')

И теперь вы можете просто сохранить сгенерированный WordCloud:

plt.savefig(f'wordcloud.png',
            dpi = 300)

Для построения (визуализации) просто используйте:

plt.show()

Конечный результат:

Конечный результат

Если ответ решит вашу проблему, пожалуйста, проголосуйте и отметьте этот ответ как принятый! Спасибо!

iamgonzalez 22.03.2021 15:31

Другие вопросы по теме