python词频分析
A. 求看python 统计中文词频的代码,有一个地方不懂 求大神
首先要说复明一个概念:gbk编码里一个中制文字符的‘长度’是2。
str='中国'#gbk编码
要取得'中'这个字符,需要用分片str[0:2],而不是索引str[0]。
以z4为例,下面这些代码的效果是这样的。
x='同舟共济与时俱进艰苦奋斗'
i+=z4.findall(x)#返回['同舟共济','与时俱进','艰苦奋斗']
i+=z4.findall(x[2:])#返回['舟共济与','时俱进艰']
i+=z4.findall(x[4:])#返回['共济与时','俱进艰苦']
i+=z4.findall(x[6:])#返回['济与时俱','进艰苦奋']
目的是取得所有连续4字中文字符串。
B. python里如何快速统计 词频 现在有个文件 data.txt 里面有1万多行 每行都
1. N^2时间复杂度是怎么算出来的?N指什么?
2. 对于多位数,比如 76,我们把它当做两个数字 7 和 6 这样来统计词频?
C. python词频分析关键词频数与word检索的结果不一致
测下下面的代码看显示多少
words = jieba.lcut(txt)
#把你后面的代码全部暂时注释
from collections import Counter
ct = Counter(words)
print(ct['发展'])
D. Python词频统计问题
#下载一文到words.txt,内容为(stumldsmlstustueezkzwxjZkzWxj)
File="words.txt"
number_list=[]
withopen(File)asf:
forlineinf:
number_list.extend(str(i)foriinline.split())
foriteminset(number_list):
L=[item,number_list.index(item),number_list.count(item)]
print(L)#单词首次出现的位置词频
withopen('Q1.txt','a')asF:
F.writelines(str(L))
E. python 字典中的词频统计之后 如何将频数大于一个数字的词的数量统计出来
v={}
for i in dic:
if dic[i]>14:
#print(i,dic[i])
v[i]=dic[i]
print(len(v))
F. python问题,我运用python做中文词频分析的时候总是显示UnicodeDecodeError: 'utf-8'问题
出现原因:文件不是 UTF8 编码的,而系统默认采用 UTF8 解码。
解决方法是改为对应的解码方式。
解决办法:
“文件–》另存为”,可以看到文件的默认编码格式为ANSI,改为编码格式UTF8,保存
G. 如何用python对文章中文分词并统计词频
1、全局变量在函数中使用时需要加入global声明
2、获取网页内容存入文件时的编码为ascii进行正则匹配时需要decode为GB2312,当匹配到的中文写入文件时需要encode成GB2312写入文件。
3、中文字符匹配过滤正则表达式为ur'[\u4e00-\u9fa5]+',使用findall找到所有的中文字符存入分组
4、KEY,Value值可以使用dict存储,排序后可以使用list存储
5、字符串处理使用split分割,然后使用index截取字符串,判断哪些是名词和动词
6、命令行使用需要导入os,os.system(cmd)
H. Python 分词后词频统计
out_one=re.compile(r'(.*?) 00',re.S)
out_one_re=re.findall(self.out_one,i)
a={}
forjinout_one_re:
a[j]=out_one_re.count(j)
使用字典属性,内容唯一来进行统计。出来的包括内容和次数。
I. 如何用python和jieba分词,统计词频
#!python3
#-*-coding:utf-8-*-
importos,codecs
importjieba
fromcollectionsimportCounter
defget_words(txt):
seg_list=jieba.cut(txt)
c=Counter()
forxinseg_list:
iflen(x)>1andx!=' ':
c[x]+=1
print('常用词频度统计版结果权')
for(k,v)inc.most_common(100):
print('%s%s%s%d'%(''*(5-len(k)),k,'*'*int(v/3),v))
if__name__=='__main__':
withcodecs.open('19d.txt','r','utf8')asf:
txt=f.read()
get_words(txt)
J. 用Python统计词频
def statistics(astr):
# astr.replace("\n", "")
slist = list(astr.split("\t"))
alist = []
[alist.append(i) for i in slist if i not in alist]
alist[-1] = alist[-1].replace("\n", "")
return alist
if __name__ == "__main__":
code_doc = {}
with open("test_data.txt", "r", encoding='utf-8') as fs:
for ln in fs.readlines():
l = statistics(ln)
for t in l:
if t not in code_doc:
code_doc.setdefault(t, 1)
else:
code_doc[t] += 1
for keys in code_doc.keys():
print(keys + ' ' + str(code_doc[keys]))