国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

使用python的wordcloud包實現中文標簽云制作

2019-11-14 10:01:39
字體:
來源:轉載
供稿:網友

一、前言

數據分析報告之中文標簽云

在我的前一篇博客(python爬蟲爬取拉勾網職業信息)中,獲得了一份格式化的職業信息數據,不清楚的可以看看我的上一篇博客。

python制作標簽云的包有幾個,我這里選用了Wordcloud,直接pip install 即可。

二、實戰

1、統計詞頻數

前面我們用爬蟲已經抓取了一份格式化的數據,要制作標簽云,要先把各個公司職位優勢的詞頻數統計出來,代碼如下:

def wordCount(filename):    '''    簡單計算詞頻的函數    :param filename: 文件名    :return: 詞頻    '''    wordCount = {}    file = open(filename,'r')    while True:        line = file.readline()        if line:            wordlist = line.split(',[')            if len(wordlist) == 1: continue            wordlist = wordlist[1].split('],')[0].split(',')            for word in wordlist:                word = word.replace(' ', '').replace("'", '')                if word in wordCount.keys():                    wordCount[word] = wordCount[word]+1                else:                    wordCount[word] = 1        else:            break    return [(k, wordCount[k]) for k in wordCount.keys()]注意,上述代碼只用于特定格式下,即爬蟲抓取回來的職位信息中公司優勢的詞頻統計

2、生成標簽云

def generateCloud(filename,imagename,cloudname,fontname):    '''    生成標簽云的函數    '''    coloring = imread(imagename)             # 讀取背景圖片    wc = WordCloud(background_color="white", # 背景顏色max_words=2000,# 詞云顯示的最大詞數                   mask=coloring,            # 設置背景圖片                   stopwords=STOPWORDS,      # 停止詞                   font_path=fontname,       # 兼容中文字體                   max_font_size=150)        # 字體最大值    #計算好詞頻后使用generate_from_frequencies函數生成詞云    #txtFreq例子為[('詞a', 100),('詞b', 90),('詞c', 80)]    txtFreq = wordCount(filename)    wc.generate_from_frequencies(txtFreq)    # 生成圖片    plt.imshow(wc)    plt.axis("off")    # 繪制詞云    plt.figure()    # 保存詞云    wc.to_file(cloudname)這里需要注意的是,fontname這個參數,在Ubuntu系統下,生成中文標簽云默認字體可能會不兼容,所以要重新指定兼容的字體,直接在window系統下復制微軟雅黑(msyh,tff)字體過來即可。

3、運行

if __name__ == '__main__':    d = path.dirname(__file__)              # 獲取當前文件路徑    fontname = path.join(d, 'msyh.ttf')     # 中文字體路徑    filename = path.join(d, '廣州.txt')      # txt文件路徑    imagename = path.join(d, "circle.jpg")  # 背景圖片路徑    cloudname = path.join(d, "cloud.png")   # 標簽云路徑    generateCloud(filename, imagename, cloudname, fontname)三、結果

1、選用的背景圖片--circle.jpg

2、生成的標簽云--cloud.png

3、到這里就大工告成了,具體代碼可以在我的github上找到:https://github.com/lpty


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 黑水县| 仲巴县| 平罗县| 溧阳市| 垣曲县| 莆田市| 宝应县| 社会| 石门县| 高安市| 迭部县| 崇仁县| 云和县| 浦城县| 盐津县| 和平县| 原阳县| 博白县| 温宿县| 汕头市| 丹凤县| 浏阳市| 太湖县| 保靖县| 台北县| 江陵县| 墨玉县| 泰宁县| 武平县| 安阳市| 华亭县| 石城县| 项城市| 盐源县| 万盛区| 海原县| 抚松县| 昂仁县| 双鸭山市| 福贡县| 阳西县|