У меня есть датафрейм pandas, который состоит из баллов студентов.Я хочу создать облако слов или облако чисел для оценок.Есть ли способ добиться этого.Я перепробовал все возможные способы, но все мои усилия были напрасны.В основном я хочу слово облако, содержащее числа в нем.из столбца CGPA.
Вот что я пробовал:
import pandas as pd
from wordcloud import WordCloud
import matplotlib.pyplot as plt
df = pd.read_csv("VTU_marks.csv")
# rounding off
df = df[df['CGPA'].isnull() == False]
df['CGPA'] = df['CGPA'].round(decimals=2)
wordcloud = WordCloud(max_font_size=50,max_words=100,background_color="white").generate(string)
plt.figure()
plt.imshow(wordcloud, interpolation="bilinear")
plt.axis("off")
plt.show()
Но я получаю сообщение об ошибке
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-47-29ec36ebbb1e> in <module>()
----> 1 wordcloud = WordCloud(max_font_size=50, max_words=100, background_color="white").generate(string)
2 plt.figure()
3 plt.imshow(wordcloud, interpolation="bilinear")
4 plt.axis("off")
5 plt.show()
/usr/local/lib/python3.6/dist-packages/wordcloud/wordcloud.py in generate(self, text)
603 self
604 """
--> 605 return self.generate_from_text(text)
606
607 def _check_generated(self):
/usr/local/lib/python3.6/dist-packages/wordcloud/wordcloud.py in generate_from_text(self, text)
585 """
586 words = self.process_text(text)
--> 587 self.generate_from_frequencies(words)
588 return self
589
/usr/local/lib/python3.6/dist-packages/wordcloud/wordcloud.py in generate_from_frequencies(self, frequencies, max_font_size)
381 if len(frequencies) <= 0:
382 raise ValueError("We need at least 1 word to plot a word cloud, "
--> 383 "got %d." % len(frequencies))
384 frequencies = frequencies[:self.max_words]
385
ValueError: We need at least 1 word to plot a word cloud, got 0.
Вы можете найти данные здесь.Любая помощь в создании сюжета будет высоко оценена.