>  기사  >  백엔드 개발  >  Python에서 텍스트의 단어 빈도를 계산하는 방법

Python에서 텍스트의 단어 빈도를 계산하는 방법

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼원래의
2019-06-20 17:05:307703검색

기사나 소설을 읽을 때 어떤 단어가 본문에 가장 많이 나오는지, 몇 번 나오는지 알고 싶을 때 어떻게 해야 할까요? Python은 간단한 코드로 이 작업을 수행할 수 있습니다. 또한 주인공이 누구인지, 누구의 이름으로 소설에 가장 많이 등장하는지, 어떤 문장이 나오는지 확장해서 유추해 볼 수도 있습니다. 만트라는 무엇입니까? 매우 흥미롭지 않나요?

Python에서 텍스트의 단어 빈도를 계산하는 방법

아이디어:

은 먼저 각 문자를 추출하여 목록에 넣는 것입니다. ;

그런 다음 구두점을 필터링합니다.

마지막으로 사전을 사용하여 특정 단어의 빈도를 누적합니다.

관련 추천: "python 비디오 튜토리얼"

소설 Fanghua를 예로 들어보세요:

#coding:utf-8
word_lst = []
word_dict = {}
exclude_str = ",。!?、()【】<>《》=:+-*—“”…" 
with open("芳华.txt","r") as fileIn ,open("芳华字频.txt",&#39;w&#39;) 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 (&#39;字符\t字频&#39;)
    print (&#39;=============&#39;)
    for e in lstWords[:100]:
        print (&#39;%s\t%d&#39; % e)
        fileOut.write(&#39;%s, %d\n&#39; % e)
#🎜🎜 #OUTPUTRESULT

字符    字频
=============
的    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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.