前段時間,咱們爬取了幾部熱門的電影,分別是《三生三世》,《戰狼》,《二十二》,咱們今天 就以這幾部爲例,進行一個簡單的詞雲的製做。app
咱們主要以《二十二》爲例,來製做一個評論的詞雲。dom
首先須要安裝幾個必要的工具庫:工具
下面咱們就開始。code
首先須要導入相應的庫,並讀取咱們下載的csv文件。blog
import pandas as pd import numpy as np import matplotlib.pyplot as plt df_ershier = pd.read_csv('ershier.csv', encoding='utf-8') df_ershier.comment.fillna(' ') df_ershier.comment = df_ershier.comment.astype(str)
下面就是實現詞雲的主要步驟。utf-8
import jieba from wordcloud import WordCloud import PIL result = [] # 用來存放切分的詞 def parse(raw_text): for word in jieba.cut(raw_text): # raw_text是字符串,也就是咱們獲取到的所有評論信息 if len(word) > 1: result.append(word) def wordcloudplot(data, file_name): # data 是以空格分隔的字符串 path = 'msyh.ttf' alice_mask = np.array(PIL.Image.open('yuan.jpg')) stopwords = ['nan', '就是', '仍是', '可是', '沒有','以爲', '三生三世', '三生', '三世', '還有', '演員', '怎麼', '這麼', '電影', '這部'] wordcloud = WordCloud(font_path=path, background_color="white", margin=5, width=1000, height=800, mask=alice_mask, max_words=1000, max_font_size=100, stopwords = stopwords, random_state=0) wordcloud = wordcloud.generate(data) wordcloud.to_file(file_name) plt.imshow(wordcloud) plt.axis("off") plt.show()
下面是執行部分字符串
raw_text = ' '.join(list(df_ershier.comment)) parse(raw_text) text = ' '.join(result) wordcloudplot(text, 'ershier_.jpg')
最後生成以下的詞雲pandas
一樣的道理,生成以下的《戰狼》,《三生三世》it