最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python統(tǒng)計(jì)中文詞頻的四種方法小結(jié)

 更新時(shí)間:2023年08月25日 14:54:25   作者:PythonFun  
統(tǒng)計(jì)中文詞頻是Python考試中常見的操作,本文我們總結(jié)了四種常見的中文詞頻統(tǒng)計(jì)方法,并列出代碼,具有一定的參考價(jià)值,感興趣的可以了解一下

統(tǒng)計(jì)中文詞頻是Python考試中常見的操作,由于考察內(nèi)容較多,因此比較麻煩,那么有沒有好的方法來實(shí)現(xiàn)呢?今天,我們總結(jié)了四種常見的中文詞頻統(tǒng)計(jì)方法,并列出代碼,供大家學(xué)習(xí)參考。

中文詞頻統(tǒng)計(jì)主要是通過open()打開文本,然后read()方法讀取后,采用結(jié)巴分詞(jieba)模塊進(jìn)行分詞,接著用推表推導(dǎo)式、Counter或者是字典的方法來統(tǒng)計(jì)詞頻,也可以采用NLTK的方法,最后格式化打印出來。

題目:統(tǒng)計(jì)中文文本文件【詞頻統(tǒng)計(jì)文本.txt】中長度大于1的詞的詞頻,然后打印出詞頻數(shù)最高的10個詞。

默認(rèn)系統(tǒng)里已經(jīng)安裝好了jieba這個模塊。如果還沒有安裝,可以在cmd下通過pip install jieba來安裝這個模塊。

一、字典法——常用的方法

先讀取文本,然后jieba分詞,再對分詞后的列表進(jìn)行遍歷,然后用字典統(tǒng)計(jì)詞頻。這里排除了單個詞,代碼如下:

import jieba
txt = open("詞頻統(tǒng)計(jì)文本.txt", "r").read()
words = jieba.lcut(txt)
counts = {}
for word in words:
    if len(word) == 1: #排除單個字符的分詞結(jié)果
        continue
    else:
        counts[word] = counts.get(word,0) + 1
items = list(counts.items())
items.sort(key=lambda x:x[1], reverse=True)
for i in range(10):
    word, count = items[i]
    print("{0:<10}{1:>5}".format(word,count))
print ('已統(tǒng)計(jì)數(shù)量排前10的詞')

二、Counter法——代碼簡單,速度快

先生成Counter對象,再排序,最后再打印出來。這里我們使用了most_common的方法,代碼更為簡潔,更好理解一點(diǎn)。代碼如下:

import jieba
from collections import Counter
with open("詞頻統(tǒng)計(jì)文本.txt", "r",encoding="utf-8") as f:
    words = jieba.lcut(f.read())
    words = [item for item in words if len(item)>1]
counts = Counter(words)
for word,count in counts.most_common(10):
    print(word,count)
print ('已統(tǒng)計(jì)數(shù)量排前10的詞')

三、NLTK方法——有點(diǎn)兒小麻煩

利用列表推導(dǎo)式篩選列表,利用NLTK中的FreqDist來統(tǒng)計(jì)列表中的詞步,代碼如下。

import jieba,os
from nltk.probability import FreqDist
with open("詞頻統(tǒng)計(jì)文本.txt","r",encoding="utf-8") as f:
    text = f.read()
words = jieba.lcut(text)
lst = [i for i in words if len(i)>1]
freq = FreqDist(lst)
for item in freq.most_common(10):
    word,count=item
    print(f"{word:<10}\t{count:<5}")
print ('已統(tǒng)計(jì)數(shù)量排前10的詞')

使用這種方法,得安裝nltk包,較為麻煩。

四、列表推導(dǎo)式法

如果不借助其它包,我們可以充分利用Python自帶的count方法和列表推導(dǎo)式,實(shí)現(xiàn)詞頻的統(tǒng)計(jì)。這其中與前面排序的方法不同的是,我們采用了sorted的方法,完整代碼如下:

import jieba,os
with open("詞頻統(tǒng)計(jì)文本.txt","r",encoding="utf-8") as f:
    text = f.read()
words = jieba.lcut(text)
lst = [(key,words.count(key)) for key in set(words) if len(key)>1]
items = sorted(lst,key=lambda x:x[1],reverse=True)
for i in range(10):
    word, count = items[i]
    if len(word) == 1: #排除單個字符的分詞結(jié)果
        continue
    else:
        print(f"{word:<10}\t{count:<5}")
print ('已統(tǒng)計(jì)數(shù)量排前10的詞')

五、學(xué)后反思

1. 中文詞頻統(tǒng)計(jì)主要考察文本的讀取、列表的遍歷、jieba分詞、詞頻統(tǒng)計(jì)、排序、結(jié)果的格式化和打印輸出等綜合能力。因此,它是Python二級中常考的題目,認(rèn)真學(xué)習(xí),并找出多種詞頻統(tǒng)計(jì)的方法可以更好地理解Python中的相關(guān)概念和基礎(chǔ)語法知識。

2. 四種方法中最麻煩的是NLTK法和列表推導(dǎo)式化,字典法和Counter方法最為常用,字典法常出現(xiàn)在考試中,而Counter的方法實(shí)用性更強(qiáng),大家可以有選擇地使用。

3. 有了詞頻表,后續(xù)可以進(jìn)行可視化的圖表生成,包括詞云圖和線形圖等,以便更直觀地觀察語篇中詞的特點(diǎn)。

到此這篇關(guān)于Python統(tǒng)計(jì)中文詞頻的四種方法小結(jié)的文章就介紹到這了,更多相關(guān)Python統(tǒng)計(jì)中文詞頻內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python實(shí)現(xiàn)的可可愛愛的小粽子詳解

    Python實(shí)現(xiàn)的可可愛愛的小粽子詳解

    我突發(fā)奇想做一個關(guān)于粽子的小游戲,基本原理:操控粽子吃掉愛心,即可增加分?jǐn)?shù),經(jīng)過朋友game多測嘗試最終完成小游戲
    2022-06-06
  • Python完美還原超級瑪麗游戲附代碼與視頻

    Python完美還原超級瑪麗游戲附代碼與視頻

    讀萬卷書不如行萬里路,只學(xué)書上的理論是遠(yuǎn)遠(yuǎn)不夠的,只有在實(shí)戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用Python實(shí)現(xiàn)超級瑪麗,90后的回憶老游戲,快來看戴帽子的大胡子穿著背帶褲的馬里奧
    2021-11-11
  • Python中文件I/O高效操作處理的技巧分享

    Python中文件I/O高效操作處理的技巧分享

    文件I/O是Python中最重要的技術(shù)之一,在Python中對文件進(jìn)行I/O操作是非常簡單的。但如何高效的操作處理是需要技巧的,下面這篇文章就主要介紹了Python中文件I/O高效操作處理的技巧,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-02-02
  • 自己搭建resnet18網(wǎng)絡(luò)并加載torchvision自帶權(quán)重的操作

    自己搭建resnet18網(wǎng)絡(luò)并加載torchvision自帶權(quán)重的操作

    這篇文章主要介紹了自己搭建resnet18網(wǎng)絡(luò)并加載torchvision自帶權(quán)重的操作,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • 解決Pycharm中import時(shí)無法識別自己寫的程序方法

    解決Pycharm中import時(shí)無法識別自己寫的程序方法

    今天小編就為大家分享一篇解決Pycharm中import時(shí)無法識別自己寫的程序方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • Pytorch中torch.cat()函數(shù)舉例解析

    Pytorch中torch.cat()函數(shù)舉例解析

    一般torch.cat()是為了把多個tensor進(jìn)行拼接而存在的,下面這篇文章主要給大家介紹了關(guān)于Pytorch中torch.cat()函數(shù)舉例解析的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-12-12
  • 詳解Python如何巧妙實(shí)現(xiàn)數(shù)學(xué)階乘n!

    詳解Python如何巧妙實(shí)現(xiàn)數(shù)學(xué)階乘n!

    一個正整數(shù)的階乘(factorial)是所有小于及等于該數(shù)的正整數(shù)的積,并且0的階乘為1。自然數(shù)n的階乘寫作n!,本文就給大家介紹如何使用python和第三方庫來實(shí)現(xiàn)數(shù)學(xué)運(yùn)算中的階乘以及階乘累計(jì)求和
    2023-03-03
  • Python各類圖像庫的圖片讀寫方式總結(jié)(推薦)

    Python各類圖像庫的圖片讀寫方式總結(jié)(推薦)

    這篇文章主要介紹了Python各類圖像庫的圖片讀寫方式總結(jié)(推薦),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-02-02
  • django中模板的html自動轉(zhuǎn)意方法

    django中模板的html自動轉(zhuǎn)意方法

    今天小編就為大家分享一篇django中模板的html自動轉(zhuǎn)意方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • 使用Python操作文件系統(tǒng)的方法

    使用Python操作文件系統(tǒng)的方法

    Python提供了許多內(nèi)置庫來處理文件系統(tǒng),如os、shutil和pathlib等,這些庫可以幫助你創(chuàng)建、刪除、讀取、寫入文件和目錄,這篇文章主要介紹了使用Python操作文件系統(tǒng),需要的朋友可以參考下
    2023-07-07

最新評論

博乐市| 黑河市| 卓资县| 军事| 中江县| 湛江市| 满洲里市| 潞城市| 永福县| 容城县| 宁陵县| 尼勒克县| 保山市| 盘锦市| 白城市| 夹江县| 盘山县| 潍坊市| 玛曲县| 伊金霍洛旗| 和田市| 新泰市| 香格里拉县| 万源市| 望城县| 吕梁市| 开江县| 宜宾县| 崇义县| 岳普湖县| 宜城市| 静乐县| 德庆县| 安新县| 那曲县| 大同市| 藁城市| 南江县| 西乌| 盐池县| 瓮安县|