NLP 統計頻率

2021-08-24 23:14:45 字數 1560 閱讀 7212

引入必要的包

import re

from collections import counter

方法一:

# version one

defget_max_value_v1

(text):

# 統一為小寫字母

text = text.lower()

# 返回所有的字母

result = re.findall('[a-za-z]',text)

# 返回字典的頻數

count = counter(result)

# 獲取最大頻數

max_value = max(count.values())

# 獲取頻數最大的字母

max_list =

for k,v in count.items():

if v == max_value:

# 返回排序後的字母列表

return sorted(max_list)

方法二:

def

get_max_value_v2

(text):

# 帶條件的生成器

count = counter([x for x in text.lower() if x.isalpha()])

# 獲取最大值

m = max(count.values())

# 帶字典的生成器

return sorted([x for (x,y) in count.items() if y == m])

方法三:

def

get_max_value_v3

(text):

text = text.lower()

# string.ascii_lowercase表示所有小寫字母

# text.count是乙個函式,返回值為字母頻率

return max(string.ascii_lowercase, key = text.count)

方法三解釋:

max(range(6),key = lambda x : x>2) #      true無大小,則返回第乙個

max([3,5,2,1,4,3,0], key = lambda x: x) # 數字有大小,則返回最大值5

max('ah', 'bf', key=lambda x: x[1]) # 字母按照ascii表中大小,返回最大值

max('ah', 'bf', key=lambda x: x[0]) # 字母按照ascii表中大小,返回最大值

# 關鍵

text = 'hello world'

max('abcdefghijklmnopqrstuvwxyz', key=text.count) # 返回頻數最大的字母

獲取字母頻數:

s = 'my name is james'.lower()

list(map(s.count,s))

NLP 簡單統計

1 變數名必須以字母開頭,可以包含數字和下劃線,名稱是區分大小寫的,變數名不能遊空格,可以 用下劃線 把單詞分開 2 利用freqdist尋找文字中最常見的50個詞 第89行 計算whale出現的次數 累積頻率圖 計算文字中每個詞的長度 fdist.keys 只有20個不同的元素 說明只有20種不同...

統計字元頻率

輸入資料有多組,每組佔一行,由乙個n為的整數構成 ytq急著打 沒有告訴你n是多少,只告訴這個數字小於10的1000次方 對於每組輸入資料,輸出一行,對應乙個要求的答案 答案為0 9之間的乙個數字,如果有過個 數字出現次數一樣多的情況,輸出最小的數字 1234567891 11122333 1235...

Frequency 頻率統計

coding utf 8 created on fri oct 20 19 16 41 2017 author esri import nltk from nltk import freqdist 做個詞庫先 corpus this is my sentence this is my life th...