您好,登錄后才能下訂單哦!
本文實例講述了Python實現統計英文文章詞頻的方法。分享給大家供大家參考,具體如下:
應用介紹:
統計英文文章詞頻是很常見的需求,本文利用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:])
PS:這里再為大家推薦2款相關統計工具供大家參考:
在線字數統計工具:
http://tools.jb51.net/code/zishutongji
在線字符統計與編輯工具:
http://tools.jb51.net/code/char_tongji
更多關于Python相關內容感興趣的讀者可查看本站專題:《Python文件與目錄操作技巧匯總》、《Python文本文件操作技巧匯總》、《Python數據結構與算法教程》、《Python函數使用技巧總結》、《Python字符串操作技巧匯總》及《Python入門與進階經典教程》
希望本文所述對大家Python程序設計有所幫助。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。