今天來試一下如何利用 python 來統(tǒng)計文本中每個英文單詞出現(xiàn)的次數(shù)
列出了兩種方法,一種是直接調(diào)用 Counter 函數(shù) ,核心代碼一行搞定
另一種是手寫的利用 python 中的字典來統(tǒng)計
?
1.首先將文本文件導入
f = open(r"C:\Users\aaa\Desktop\new.txt",encoding="utf-8")
a = f.read().split()
?open 文本之后,將文本 read 進來,然后用 split 將單詞利用空格切分開
輸出的是一個列表,也就是將文本文件變成單詞的列表
?
2. 利用?Counter 函數(shù)統(tǒng)計詞頻
這個方法很簡單,只需要用一行代碼即可搞定
print(collections.Counter(a))
這樣就直接統(tǒng)計好詞頻,并利用字典的形式排序好了再輸出
當然, Counter 函數(shù)在 collections 包里,所以使用之前要先導包:import collections
?
3.手寫字典統(tǒng)計詞頻
如果你覺得直接調(diào)用函數(shù)沒有意思的話,可以自己手寫字典來統(tǒng)計:key 是單詞,value 是單詞出現(xiàn)次數(shù)
先創(chuàng)建一個字典,然后遍歷剛剛?cè)〕龅膯卧~列表,接著做一個判斷:
? ? 如果字典中 key 已經(jīng)出現(xiàn)了這個單詞,那么它對應的 value ,也就是出現(xiàn)次數(shù)就 +1
? ? 如果這個單詞沒出現(xiàn)過,就直接 插入這個單詞及?value 為 1 到 字典中
代碼如下:
words_dic = {}
for k in a:
? ? if k in words_dic:
? ? ? ? words_dic[k] += 1? ? ?
? ? else:
? ? ? ? words_dic[k] = 1print(words_dic)
統(tǒng)計結(jié)果:
?
4.完整代碼
import collections
f = open(r"C:\Users\aaa\Desktop\new.txt",encoding="utf-8")
a = f.read().split()
print(a)
print(collections.Counter(a))
words_dic = {}
for k in a:
if k in words_dic:
words_dic[k] += 1
else:
words_dic[k] = 1
print(words_dic)
f.close()
?
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
