問題:hamlet英文文字詞頻統計1
思路:(1) 獲取全部文字, 去除標點、統一大小寫
(2)文字分詞(中英不同處理)
(3)建立字典型資料,統計詞頻。我們需要的字典是:
(4)統計結果按輸出需求處理
輸出:詞頻從大到小,輸出前十條
#calhamletv1.py
#1 開啟文字,去噪、歸一
defgettext()
: txt=
open
("hamlet.rtf"
,"r"
).read(
) txt=txt.lower(
)#文字全部小寫(字典大小寫敏感,統一單詞樣式)
for ch in
'!"#$%^&*()+_,-./:<>+?@\|_『{}~'
:#所有標點符號
txt=txt.replace(ch,
" ")
#替換為空格
return txt
#2 文字分詞
hamlettxt=gettext(
)words=hamlettxt.split(
)#3 統計詞頻,結果放入字典counts中
counts=
for word in words:
counts[word]
=counts.get(word,0)
+1#4 字典轉為列表,排序輸出
items=
list
(counts.items())
items.sort(key=
lambda x:x[1]
,reverse=
true
)for i in
range(10
):word,count=items[i]
print(""
.format
(word,count)
)
0pen(
"hamlet.rtf"
,"r"
)#以唯讀方式開啟並讀檔案。"r"唯讀;"w"寫入,等等。
更多:python中開啟檔案的方式(with open))
理解難點:
"dict[key]= x"
#作用:(1)字典新增 "key:x",(2)或者修改key對應的值為「x"。
dict
.get(key,default)
# 返回字典中key對應的value,如果沒有則返回指定的default
執行描述:
總結-**意義:
字典counts中:理解難點:lambda x:x[1](1)新增:word如果不在字典counts裡,就記錄進去並把詞頻在0的基礎上+1,『word:1』
(2)修改:word如果在字典counts裡,就檢索詞頻並+1,『word:n+1"
sum
=lambda x,y:x+y #lambda模糊函式,「lambda 《引數》:《表示式》」,引數可以有多個,表示式乙個
print
(sum(5
,6))
#結果為'11'
**意義
x(詞語,詞頻)中,x[0]指"詞語";x[1]指"詞頻"
以詞頻為依據,降序排列列表counts。
個人應用:
counts=
#建字典
print
('姓名\年齡(字典):'
,counts)
items=
list
(counts.items())
#通過'list'轉為列表(有序,可排序)
print
('姓名\年齡(列表):'
,items)
#列表items.sort(key=
lambda x:x[1]
,reverse=
false
)#列表items以年齡為依據,公升序排列.①x[0]以每個元組的0位即「key」為依據;x[1]以每個元組的1位即「value」為依據。②「reverse=true」降序
print
('三人年齡排序後:'
,items )
==
====
====
====
====
====
====
====
====
====
dec 25
,2020 at 17:20
:40/untitled text 2--
----
----
----
----
----
----
----
----
----
-姓名\年齡(字典)
:姓名\年齡(列表):[
('張三',18
),('李四',43
),('王五',24
)]列表按年齡排序:[(
'張三',18
),('王五',24
),('李四',43
)]
↩︎
hamlet英文文字↩︎
Python 文字詞頻統計
hamlettxt gettext words hemlettxt.split counts for word in words counts word counts.get word,0 1這是一段遍歷hamlet.txt檔案的一段 s.split 函式返回的是列表list 我有一些困惑 1.最後...
文字詞頻統計是字典嗎 Python 文字詞頻統計
很多時候需要對一篇文章統計其中多次出現詞語,進而分析文章的內容,這就需要用到詞頻統計。詞頻統計就是累加問題,即對文件中每個詞設定乙個計數器,詞語每出現一次,相關計數器就加一次。def gettext text open ceshi.txt r read text text.lower for ch ...
統計學習筆記3
假設檢驗是數理統計學中根據一定假設條件由樣本推斷總體的一種方法。確定要進行檢驗的假設 原假設 null hypothesis h0 h0 要檢驗的判斷 備擇假設 h1 h1 選擇檢驗統計量 就是確定分布型別,得出統計量n,p,等確定用於做決策的拒絕域 先確定顯著性水平是百分之幾 再看這是單尾檢驗 左...