中文字符频率统计python_python怎么统计文本中的字频

当我们在看一篇文章甚至是一本小说的时候,想知道文本中哪个字出现的最多,出现了多少次,该怎么办?Python可以用简单的代码就可以实现这份工作。你也可以拓展一下,可以通过小说中谁的名字或者哪一句话出现的次数最多来推断主角是谁?口头禅是什么?是不是十分有趣,快来试试吧。

5d0b48ff21ea1976.jpg

思路:

是先把每个字符提出来放在列表里;

再过滤掉其中的标点符号;

最后用字典对某个字出现的频率进行累加。

下面以芳华这本小说为例:#coding:utf-8

word_lst = []

word_dict = {}

exclude_str = ",。!?、()【】<>《》=:+-*—“”…"

with open("芳华.txt","r") as fileIn ,open("芳华字频.txt",'w') as fileOut:

# 添加每一个字到列表中

for line in fileIn:

for char in line:

word_lst.append(char)

# 用字典统计每个字出现的个数

for char in word_lst:

if char not in exclude_str:

if char.strip() not in word_dict: # strip去除各种空白

word_dict[char] = 1

else :

word_dict[char] += 1

# 排序

# x[1]是按字频排序,x[0]则是按字排序

lstWords = sorted(word_dict.items(), key=lambda x:x[1], reverse=True)

# 输出结果 (前100)

print ('字符\t字频')

print ('=============')

for e in lstWords[:100]:

print ('%s\t%d' % e)

fileOut.write('%s, %d\n' % e)

输出结果字符 字频

=============

的 3641

一 1834

了 1748

是 1506

不 1267

我 1229

她 1156

他 985

小 962

个 921

人 866

在 853

刘 745

丁 728

那 723

上 705

来 698

峰 691

们 684

就 667

说 577

有 572

到 564

这 562

里 537

儿 520

嫚 499

子 494

都 492

着 491

大 482

么 462

出 460

看 441

也 415

得 404

下 383

时 367

还 366

女 349

地 340

头 331

好 327

没 326

去 321

过 320

老 317

跟 311

你 309

把 307

对 303

年 301

会 300

生 291

为 289

发 289

要 281

何 280

亲 273

后 272

给 267

和 266

天 265

家 259

手 251

长 251

想 249

多 242

自 241

开 240

当 236

兵 235

样 232

郝 230

可 228

起 225

被 224

成 216

十 215

什 215

以 209

事 209

从 209

点 208

能 203

两 203

回 202

门 201

所 195

淑 188

雯 188

只 188

心 184

身 184

让 179

道 179

母 174

做 173

话 173

最 172

>>>

以上就是python怎么统计文本中的字频的详细内容,更多请关注php中文网其它相关文章!

article_wechat2021.jpg?1111

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值