英文文章的詞頻統計

2021-08-20 00:16:17 字數 1551 閱讀 6595

今天去面試,被問到如何實現詞頻統計,因為之前都是直接呼叫value_counts()函式統計,在被要求不用該函式實現統計,一緊張就卡殼了,回到家大概自己想了一下,怎麼一步步復現。

實現的方法有多種,我才用的辦法是先把檔案處理成string型別,然後string處理函式

#讀入檔案並處理成文字

defread_file

(text_file)

: string_for_count=

with

open

(text_file)

as wf:

for line in wf:

return

''.join(string_for_count)

隨後定義文字中詞語的詞頻統計

#統計詞頻

defword_counts

(string)

: string_list = string.replace(

'\n',''

).lower(

).split(

' ')

count_dic =

for item in string_list:

if item in count_dic.keys():

count_dic[item]+=1

else

: count_dic[item]=1

if' '

in count_dic:

count_dic.pop('')

#刪除空格

count_list =

sorted

(count_dic.iteritems(

),key=

lambda x: x[1]

,reverse=

true

)return count_list

寫的倉促,僅僅紀念慘淡的一次面試,以及渣渣的學習之路

在複習《機器學習實戰》的時候,對於第二部分統計詞頻,獲取到了使**更簡潔的表達方式,如下:

def

word_counts

(string)

: string_list = string.replace(

'\n',''

).lower(

).split(

' ')

count_list =

for item in string_list:

count_list[item]

= count_list.get(item,0)

+1if' '

in count_list:

count_list.pop('')

#刪除空格

count_list =

sorted

(count_list.items(

),key=

lambda x: x[1]

,reverse=

true

)return count_list

用python統計英文文章詞頻

import re with open text.txt as f 讀取檔案中的字串 txt f.read 去除字串中的標點 數字等 txt re.sub d s txt 替換換行符,大小寫轉換,拆分成單詞列表 word list txt.replace n replace lower split ...

經典演算法 英文文章統計字元頻率

比如說我存了一些字元在txt檔案裡面,比如說 a.txt 裡面存了 abc edf ccdef 字元 這樣這個程式能夠實現統計檔案裡面有多少字元,多少種字元,每個字元出現的頻率 上個例子應該是11個字元 6種字元,a 1個 b 1個 c 3個 d 2個 e 2個 f 2個 1 讀入檔案存進char ...

英文詞頻統計

詞頻統計預處理 將所有,等分隔符全部替換為空格 將所有大寫轉換為小寫 生成單詞列表 生成詞頻統計 排序排除語法型詞彙,代詞 冠詞 連詞 輸出詞頻最大top10 word lately,i ve been,i ve been losing sleep dreaming about the things...