本文實例講述了Python實現統計英文文章詞頻的方法。分享給大家供大家參考,具體如下:
創新互聯建站是專業的重慶網站建設公司,重慶接單;提供成都網站制作、成都網站建設、外貿營銷網站建設,網頁設計,網站設計,建網站,PHP網站建設等專業做網站服務;采用PHP框架,可快速的進行重慶網站開發網頁制作和功能擴展;專業做搜索引擎喜愛的網站,專業的做網站團隊,希望更多企業前來合作!應用介紹:
統計英文文章詞頻是很常見的需求,本文利用python實現。
思路分析:
1、把英文文章的每個單詞放到列表里,并統計列表長度;
2、遍歷列表,對每個單詞出現的次數進行統計,并將結果存儲在字典中;
3、利用步驟1中獲得的列表長度,求出每個單詞出現的頻率,并將結果存儲在頻率字典中;
4、以字典鍵值對的“值”為標準,對字典進行排序,輸出結果(也可利用切片輸出頻率大或最小的特定幾個,因為經過排序sorted()函數處理后,單詞及其頻率信息已經存儲在元組中,所有元組再組成列表。)
代碼實現:
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:])
另外有需要云服務器可以了解下創新互聯scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
網站欄目:Python實現統計英文文章詞頻的方法分析-創新互聯
網頁鏈接:http://m.newbst.com/article44/dodohe.html
成都網站建設公司_創新互聯,為您提供搜索引擎優化、網站營銷、定制開發、關鍵詞優化、云服務器、品牌網站建設
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯