欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

使用python生成定制化詞云的代碼示例

 更新時(shí)間:2024年09月04日 10:45:07   作者:碼銀  
詞云,作為一種流行的數(shù)據(jù)可視化形式,能夠?qū)⒋罅课谋緮?shù)據(jù)中的關(guān)鍵詞以視覺(jué)化的方式呈現(xiàn),讓我們迅速捕捉到文本的核心,本文將通過(guò)Python編程語(yǔ)言,使用jieba和wordcloud庫(kù),生成一個(gè)具有特定形狀的詞云,需要的朋友可以參考下

引言

數(shù)據(jù)可視化已成為我們理解復(fù)雜信息的關(guān)鍵工具。詞云,作為一種流行的數(shù)據(jù)可視化形式,能夠?qū)⒋罅课谋緮?shù)據(jù)中的關(guān)鍵詞以視覺(jué)化的方式呈現(xiàn),讓我們迅速捕捉到文本的核心。本文將通過(guò)Python編程語(yǔ)言,使用jieba和wordcloud庫(kù),并基于斗破蒼穹第一章的內(nèi)容,生成一個(gè)具有特定形狀的詞云。

環(huán)境搭建

在開(kāi)始之前,確保你的Python環(huán)境中安裝了必要的庫(kù)。如果尚未安裝,可以通過(guò)以下命令進(jìn)行安裝:

pip install matplotlib 
jieba 
wordcloud 
numpy 
pillow

讀取與準(zhǔn)備文本

我們將使用《斗破蒼穹第一章》的文本作為示例。首先,確保文本文件以UTF-8編碼保存,以避免編碼錯(cuò)誤:

with open('斗破蒼穹第一章.txt', 'r', encoding='utf-8') as file:
    text = file.read()

中文分詞

中文文本處理的第一步是分詞。我們使用jieba庫(kù),它是中文文本分詞的常用工具:

import jieba
cut_text = jieba.cut(text)
word = ' '.join(cut_text)

定義停用詞

在生成詞云之前,我們需要定義一組停用詞,以排除那些在文本中頻繁出現(xiàn)但對(duì)分析沒(méi)有太大意義的詞:

    stopwords={
        '了', '的', '和', '是', '我', '你', '這', '就', '有', '在', '也', '一', '不', '人', '都', '一個(gè)',
        '我們', '他', '她', '得', '地', '很', '到', '說(shuō)', '要', '去', '上', '說(shuō)', '知道', '能', '看',
        '自己', '出來(lái)', '過(guò)', '著', '聽(tīng)', '覺(jué)得', '但是', '而且', '因?yàn)?, '所以', '雖然', '如果', '就是',
        '只有', '可以', '什么', '哪', '哪個(gè)', '那些', '什么', '怎么', '怎樣', '這么', '那么', '這樣', '那樣',
        '一點(diǎn)', '一些', '一點(diǎn)', '一些', '一下', '一下', '一會(huì)兒', '一點(diǎn)兒', '現(xiàn)在', '然后', '再', '曾經(jīng)',
        '曾經(jīng)', '曾經(jīng)', '曾經(jīng)', '或者', '或者', '以及', '或者', '跟', '跟', '同', '和', '與', '跟', '同',
        '跟', '與', '跟', '和', '與', '而且', '并且', '或者', '還是', '或者', '或者', '又', '也', '還',
        '再', '另外', '那',
        '然后',
        '接著',
        '之后',
        '起來(lái)',
        # ... 其他語(yǔ)氣助詞 ...
    }

選擇詞云形狀

詞云的形狀可以是任何形式,本例中我們將使用一張圖片來(lái)定義詞云的形狀:

from PIL import Image
import numpy as np

pic = Image.open('test1.png')
pic_array = np.array(pic)

現(xiàn)在,我們將所有元素結(jié)合在一起,生成詞云:

import wordcloud
from matplotlib import colors

color_list = ['black', 'red', 'blue', 'green']
colormap = colors.ListedColormap(color_list)

wc = wordcloud.WordCloud(
    mask=pic_array,
    font_path='simhei.ttf',
    background_color='white',
    colormap=colormap,
    stopwords=stopwords
)

wc.generate(word)

顯示詞云

最后,我們使用matplotlib庫(kù)來(lái)顯示我們生成的詞云:

plt.imshow(wc, interpolation='bilinear')
plt.axis('off')
plt.show()

結(jié)語(yǔ)

通過(guò)上述步驟,我們不僅學(xué)習(xí)了如何使用Python生成詞云,還了解了如何通過(guò)jieba進(jìn)行中文分詞,以及如何使用wordcloud庫(kù)自定義詞云的生成。

import matplotlib.pyplot as plt
import jieba
import wordcloud
from PIL import Image
import numpy as np  
from matplotlib import colors

# 讀取文本文件
str1 = open('斗破蒼穹第一章.txt', 'r', encoding='utf-8').read()  # 確保使用正確的編碼

cut_text = jieba.cut(str1)    # 分詞處理
word = ' '.join(cut_text)       # 以空格分割文本


color_list = ['black', 'red','blue','green']
colormap = colors.ListedColormap(color_list)  # matplotlib色圖

# 使用Pillow讀取圖片
pic = Image.open('test1.png')  # 讀取圖片

# 將Pillow圖像轉(zhuǎn)換為numpy數(shù)組
pic_array = np.array(pic)

wc = wordcloud.WordCloud(
    mask=pic_array,               # 使用轉(zhuǎn)換后的數(shù)組作為背景圖形
    font_path='simhei.ttf',       # 可以改成自己喜歡的字體
    background_color='white',     # 詞云圖背景顏色可以換成自己喜歡的顏色
    colormap=colormap,
    stopwords={
        '了', '的', '和', '是', '我', '你', '這', '就', '有', '在', '也', '一', '不', '人', '都', '一個(gè)',
        '我們', '他', '她', '得', '地', '很', '到', '說(shuō)', '要', '去', '上', '說(shuō)', '知道', '能', '看',
        '自己', '出來(lái)', '過(guò)', '著', '聽(tīng)', '覺(jué)得', '但是', '而且', '因?yàn)?, '所以', '雖然', '如果', '就是',
        '只有', '可以', '什么', '哪', '哪個(gè)', '那些', '什么', '怎么', '怎樣', '這么', '那么', '這樣', '那樣',
        '一點(diǎn)', '一些', '一點(diǎn)', '一些', '一下', '一下', '一會(huì)兒', '一點(diǎn)兒', '現(xiàn)在', '然后', '再', '曾經(jīng)',
        '曾經(jīng)', '曾經(jīng)', '曾經(jīng)', '或者', '或者', '以及', '或者', '跟', '跟', '同', '和', '與', '跟', '同',
        '跟', '與', '跟', '和', '與', '而且', '并且', '或者', '還是', '或者', '或者', '又', '也', '還',
        '再', '另外', '那',
        '然后',
        '接著',
        '之后',
        '起來(lái)',
        # ... 其他語(yǔ)氣助詞 ...
    }
)

wc.generate(word)  # 生成詞云

# 顯示詞云圖
plt.imshow(wc, interpolation='bilinear')  # 使用bilinear插值可以使詞云看起來(lái)更平滑
plt.axis('off')
plt.show()

到此這篇關(guān)于使用python生成定制化詞云的代碼示例的文章就介紹到這了,更多相關(guān)python生成定制化詞云內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python實(shí)現(xiàn)將元組中的元素作為參數(shù)傳入函數(shù)的操作

    Python實(shí)現(xiàn)將元組中的元素作為參數(shù)傳入函數(shù)的操作

    這篇文章主要介紹了Python實(shí)現(xiàn)將元組中的元素作為參數(shù)傳入函數(shù)的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-06-06
  • pandas學(xué)習(xí)之df.fillna的具體使用

    pandas學(xué)習(xí)之df.fillna的具體使用

    本文主要介紹了pandas學(xué)習(xí)之df.fillna的具體使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • Python做文本按行去重的實(shí)現(xiàn)方法

    Python做文本按行去重的實(shí)現(xiàn)方法

    每行在promotion后面包含一些數(shù)字,如果這些數(shù)字是相同的,則認(rèn)為是相同的行,對(duì)于相同的行,只保留一行。接下來(lái)通過(guò)本文給大家介紹Python做文本按行去重的實(shí)現(xiàn)方法,感興趣的朋友一起看看吧
    2016-10-10
  • python使用requests設(shè)置讀取超時(shí)時(shí)間

    python使用requests設(shè)置讀取超時(shí)時(shí)間

    在Python中,使用requests庫(kù)進(jìn)行網(wǎng)絡(luò)請(qǐng)求時(shí),可以通過(guò)設(shè)置?timeout參數(shù)來(lái)指定讀取超時(shí)時(shí)間,本文就來(lái)介紹一下,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-11-11
  • python 表達(dá)式和語(yǔ)句及for、while循環(huán)練習(xí)實(shí)例

    python 表達(dá)式和語(yǔ)句及for、while循環(huán)練習(xí)實(shí)例

    下面小編就為大家?guī)?lái)一篇python 表達(dá)式和語(yǔ)句及for、while循環(huán)練習(xí)實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-07-07
  • PyQt 實(shí)現(xiàn)使窗口中的元素跟隨窗口大小的變化而變化

    PyQt 實(shí)現(xiàn)使窗口中的元素跟隨窗口大小的變化而變化

    今天小編就為大家分享一篇PyQt 實(shí)現(xiàn)使窗口中的元素跟隨窗口大小的變化而變化,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-06-06
  • Python趣味挑戰(zhàn)之turtle庫(kù)繪畫(huà)飄落的銀杏樹(shù)

    Python趣味挑戰(zhàn)之turtle庫(kù)繪畫(huà)飄落的銀杏樹(shù)

    銀杏還是和恐龍同時(shí)代的植物,被稱(chēng)為活化石,適應(yīng)能力強(qiáng),生長(zhǎng)期漫長(zhǎng),壽命可達(dá)千年.因此,銀杏是長(zhǎng)壽的代表和象征,接下來(lái)用Python的turtle庫(kù)來(lái)繪畫(huà)銀杏樹(shù)唯美的一幕,需要的朋友可以參考下
    2021-05-05
  • 使用python Telnet遠(yuǎn)程登錄執(zhí)行程序的方法

    使用python Telnet遠(yuǎn)程登錄執(zhí)行程序的方法

    今天小編就為大家分享一篇使用python Telnet遠(yuǎn)程登錄執(zhí)行程序的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-01-01
  • Python?yield?關(guān)鍵詞,

    Python?yield?關(guān)鍵詞,

    這篇文章主要介紹了Python?yield?關(guān)鍵詞,要理解yield的作用,你必須理解生成器是什么。在理解生成器之前,必須先理解迭代器。下面文章我們就先從
    迭代器開(kāi)始展開(kāi)yield關(guān)鍵詞的相關(guān)自資料 ,需要的朋友可以參考一下
    2021-12-12
  • python算法測(cè)試結(jié)果自動(dòng)保存到excel表格的實(shí)現(xiàn)步驟

    python算法測(cè)試結(jié)果自動(dòng)保存到excel表格的實(shí)現(xiàn)步驟

    我們?cè)谶M(jìn)行算法評(píng)估是通常會(huì)針對(duì)每個(gè)樣本的算法處理結(jié)果進(jìn)行統(tǒng)計(jì),例如每個(gè)樣本正確預(yù)測(cè)數(shù)量、漏檢數(shù)量和誤檢數(shù)量、精度等,本文小編將給大家介紹python算法測(cè)試結(jié)果自動(dòng)保存到excel表格的實(shí)現(xiàn)步驟,感興趣的朋友可以參考下
    2023-12-12

最新評(píng)論