设置一个示例数据框:
另请参见DataCamp:在Python中生成WordCloud
import pandas as pd
df = pd.Dataframe({‘word’: [‘how’, ‘are’, ‘you’, ‘doing’, ‘this’, ‘afternoon’],
‘count’: [7, 10, 4, 1, 20, 100]})
将word
&count
列转换为dict
WordCloud().generate_from_frequencies()
需要一个dict
data = dict(zip(df[‘word’].tolist(), df[‘count’].tolist()))
print(data)
{‘how’: 7, ‘are’: 10, ‘you’: 4, ‘doing’: 1, ‘this’: 20, ‘afternoon’: 100}
Wordcloud:
- 采用
.generate_from_frequencies
generate_from_frequencies(frequencies, max_font_size=None)
from wordcloud import WordCloud
wc = WordCloud(width=800, height=400, max_words=200).generate_from_frequencies(data)
情节
import matplotlib.pyplot as pltplt.figure(figsize=(10, 10))plt.imshow(wc, interpolation='bilinear')plt.axis('off')plt.show()使用图像遮罩:
twitter_mask = np.array(Image.open('twitter.png'))wc = WordCloud(background_color='white', width=800, height=400, max_words=200, mask=twitter_mask).generate_from_frequencies(data_nyt)plt.figure(figsize=(10, 10))plt.imshow(wc, interpolation='bilinear')plt.axis("off")plt.figure()plt.imshow(twitter_mask, cmap=plt.cm.gray, interpolation='bilinear')plt.axis("off")plt.show()


