幾部電影的詞雲

前段時間,咱們爬取了幾部熱門的電影,分別是《三生三世》,《戰狼》,《二十二》,咱們今天 就以這幾部爲例,進行一個簡單的詞雲的製做。app

咱們主要以《二十二》爲例,來製做一個評論的詞雲。dom

首先須要安裝幾個必要的工具庫:工具

  • Pandas 用來實現文件讀取和存儲,以及必要的數據轉換。
  • jieba 一個強大的分詞工具,用來實現分詞,也是咱們實現詞雲的一個最重要的工具。
  • wordcloud 詞雲工具,用來實現最終的詞雲的製做,也是必要的工具。

下面咱們就開始。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

相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息