Python實(shí)現(xiàn)統(tǒng)計(jì)英文文章詞頻的方法分析
本文實(shí)例講述了Python實(shí)現(xiàn)統(tǒng)計(jì)英文文章詞頻的方法。分享給大家供大家參考,具體如下:
應(yīng)用介紹:
統(tǒng)計(jì)英文文章詞頻是很常見(jiàn)的需求,本文利用python實(shí)現(xiàn)。
思路分析:
1、把英文文章的每個(gè)單詞放到列表里,并統(tǒng)計(jì)列表長(zhǎng)度;
2、遍歷列表,對(duì)每個(gè)單詞出現(xiàn)的次數(shù)進(jìn)行統(tǒng)計(jì),并將結(jié)果存儲(chǔ)在字典中;
3、利用步驟1中獲得的列表長(zhǎng)度,求出每個(gè)單詞出現(xiàn)的頻率,并將結(jié)果存儲(chǔ)在頻率字典中;
4、以字典鍵值對(duì)的“值”為標(biāo)準(zhǔn),對(duì)字典進(jìn)行排序,輸出結(jié)果(也可利用切片輸出頻率最大或最小的特定幾個(gè),因?yàn)榻?jīng)過(guò)排序sorted()函數(shù)處理后,單詞及其頻率信息已經(jīng)存儲(chǔ)在元組中,所有元組再組成列表。)
代碼實(shí)現(xiàn):
fin = open('The_Magic_Skin _Honore_de_Balzac.txt') #the txt is up #to you lines=fin.readlines() fin.close() '''transform the article into word list ''' def words_list(): chardigit='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 ' all_lines = '' for line in lines: one_line='' for ch in line: if ch in chardigit: one_line = one_line + ch all_lines = all_lines + one_line return all_lines.split() '''calculate the total number of article list s is the article list ''' def total_num(s): return len(s) '''calculate the occurrence times of every word t is the article list ''' def word_dic(t): fre_dic = dict() for i in range(len(t)): fre_dic[t[i]] = fre_dic.get(t[i],0) + 1 return fre_dic '''calculate the occurrence times of every word w is dictionary of the occurrence times of every word ''' def word_fre(w): for key in w: w[key] = w[key] / total return w '''sort the dictionary v is the frequency of words ''' def word_sort(v): sort_dic = sorted(v.items(), key = lambda e:e[1]) return sort_dic '''This is entrance of functions output is the ten words with the largest frequency ''' total = total_num(words_list()) print(word_sort(word_fre(word_dic(words_list())))[-10:])
PS:這里再為大家推薦2款相關(guān)統(tǒng)計(jì)工具供大家參考:
在線字?jǐn)?shù)統(tǒng)計(jì)工具:
http://tools.jb51.net/code/zishutongji
在線字符統(tǒng)計(jì)與編輯工具:
http://tools.jb51.net/code/char_tongji
更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《Python文件與目錄操作技巧匯總》、《Python文本文件操作技巧匯總》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》及《Python入門(mén)與進(jìn)階經(jīng)典教程》
希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。
相關(guān)文章
基于Python實(shí)現(xiàn)敲擊木魚(yú)積累功德效果
最近大家都很流行用手機(jī)敲擊電子木魚(yú)積累功德,這在很多短視頻中也常常見(jiàn)到。本文將用Python語(yǔ)言實(shí)現(xiàn)這一效果,感興趣的小伙伴開(kāi)業(yè)了解一下2022-11-11Python實(shí)現(xiàn)簡(jiǎn)單狀態(tài)框架的方法
這篇文章主要介紹了Python實(shí)現(xiàn)簡(jiǎn)單狀態(tài)框架的方法,涉及Python狀態(tài)框架的實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-03-03python 將json數(shù)據(jù)提取轉(zhuǎn)化為txt的方法
今天小編就為大家分享一篇python 將json數(shù)據(jù)提取轉(zhuǎn)化為txt的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-10-10pytorch 獲取層權(quán)重,對(duì)特定層注入hook, 提取中間層輸出的方法
今天小編就為大家分享一篇pytorch 獲取層權(quán)重,對(duì)特定層注入hook, 提取中間層輸出的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-08-08Python cookbook(字符串與文本)針對(duì)任意多的分隔符拆分字符串操作示例
這篇文章主要介紹了Python cookbook(字符串與文本)針對(duì)任意多的分隔符拆分字符串操作,結(jié)合實(shí)例形式分析了Python使用split()及正則表達(dá)式進(jìn)行字符串拆分操作相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2018-04-04Django表單外鍵選項(xiàng)初始化的問(wèn)題及解決方法
這篇文章主要介紹了Django表單外鍵選項(xiàng)初始化的問(wèn)題及解決方法,需本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,要的朋友可以參考下2021-04-04使用python BeautifulSoup庫(kù)抓取58手機(jī)維修信息
這篇文章主要介紹了一個(gè)使用python抓取58手機(jī)的精準(zhǔn)商家信息,使用BeautifulSoup API的方法2013-11-11