Python英文詞頻統(tǒng)計(哈姆雷特)程序示例代碼
今天繼續(xù)給大家介紹Python相關(guān)知識,本文主要內(nèi)容是Python英文詞頻統(tǒng)計程序示例,主要是對英文文本——《哈姆雷特》進行分詞。
一、英文文本詞頻統(tǒng)計思路
想要對《哈姆雷特》進行英文單詞詞頻統(tǒng)計,那么我們首先需要拿到《哈姆雷特》的原文,將之存儲為本地的txt文檔,然后使用Python打開該文件,讀取里面的信息。
在讀取《哈姆雷特》內(nèi)容后,我們首先需要將文件內(nèi)容進行預(yù)處理,比如刪除文件中的特殊符號,以及對文件內(nèi)容進行全部小寫的歸一化操作等等。除此之外,我們還需要刪除文檔中所有的標(biāo)點符號。之后,我們可以將文檔使用split()函數(shù),根據(jù)空格進行分隔,形成一個列表。
之后,我們逐個取出列表中的元素,然后統(tǒng)計列表中單詞的個數(shù)。為了進行詞頻統(tǒng)計,我們需要創(chuàng)建一個字典變量,以單詞為鍵,以統(tǒng)計出的單詞個數(shù)為值,在遍歷列表時不斷更新該字典,就可以最終得到一個含有所有《哈姆雷特》內(nèi)容單詞詞頻的字典了。
最后,我們按照該字典轉(zhuǎn)化為一個新的列表,就可以對值的大小對該字典進行排序,得到《哈姆雷特》詞頻從大到小的順序了。
二、英文文本詞頻統(tǒng)計程序編寫
根據(jù)上述思路,我們可以來編寫英文文本詞頻統(tǒng)計程序了。
打開文件及讀取文件內(nèi)容程序代碼如下所示:
f=open("C:\\Users\\Administrator\\Desktop\\哈姆雷特原文.txt","rt",encoding="utf-8")
Hamlet=f.read()
f.close()對文件內(nèi)容進行預(yù)處理代碼如下所示:
Hamlet=Hamlet.lower()
for char in "!@#$%^&*()_+~`,./;'[]\<>?:\"{}|":
Hamlet=Hamlet.replace(char,"")對文件單詞進行統(tǒng)計代碼如下所示:
counts=dict()
for word in words:
counts[word]=counts.get(word,0)+1對字典生成新的列表,并進行排序,代碼如下所示:
sequence=list(counts.items()) sequence.sort(key=lambda x:x[1],reverse=True)
篩選出單詞出現(xiàn)頻率最高的10個單詞,并進行輸出,代碼如下所示:
for i in range(10):
word,count=sequence[i]
print("單詞{}在Hamlet中出現(xiàn)次數(shù)為第{},出現(xiàn)了{}次".format(word,i+1,count))最終代碼如下所示:
f=open("C:\\Users\\Administrator\\Desktop\\哈姆雷特原文.txt","rt",encoding="utf-8")
Hamlet=f.read()
f.close()
Hamlet=Hamlet.lower()
for char in "!@#$%^&*()_+~`,./;'[]\<>?:\"{}|":
Hamlet=Hamlet.replace(char,"")
words=Hamlet.split()
counts=dict()
for word in words:
counts[word]=counts.get(word,0)+1
sequence=list(counts.items())
sequence.sort(key=lambda x:x[1],reverse=True)
for i in range(10):
word,count=sequence[i]
print("單詞{}在Hamlet中出現(xiàn)次數(shù)為第{},出現(xiàn)了{}次".format(word,i+1,count))三、程序執(zhí)行結(jié)果展示
運行上述程序,我們最終得到結(jié)果如下所示:

從上圖可以看出,我們成功統(tǒng)計出了在《哈姆雷特》中出現(xiàn)次數(shù)最多的10個單詞。
總結(jié)
到此這篇關(guān)于Python英文詞頻統(tǒng)計(哈姆雷特)程序的文章就介紹到這了,更多相關(guān)Python英文詞頻統(tǒng)計內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
pandas DataFrame.to_sql()用法小結(jié)
Pandas是基于NumPy的一種工具,該工具是為了解決數(shù)據(jù)分析任務(wù)而創(chuàng)建的,本文主要介紹了pandas DataFrame.to_sql()用法小結(jié),感興趣的可以了解一下2024-02-02
利用TensorFlow訓(xùn)練簡單的二分類神經(jīng)網(wǎng)絡(luò)模型的方法
本篇文章主要介紹了利用TensorFlow訓(xùn)練簡單的二分類神經(jīng)網(wǎng)絡(luò)模型的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-03-03
pd.drop_duplicates刪除重復(fù)行的方法實現(xiàn)
drop_duplicates 方法實現(xiàn)對數(shù)據(jù)框 DataFrame 去除特定列的重復(fù)行,本文主要介紹了pd.drop_duplicates刪除重復(fù)行的方法實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-06-06
使用Python開發(fā)Markdown兼容公式格式轉(zhuǎn)換工具
在技術(shù)寫作中我們經(jīng)常遇到公式格式問題,例如MathML無法顯示,LaTeX格式錯亂等,所以本文我們將使用Python開發(fā)Markdown兼容公式格式轉(zhuǎn)換工具,有需要的小伙伴可以了解下2025-05-05

