zoukankan      html  css  js  c++  java
  • Python实现简单中文词频统计示例

    简单统计一个小说中哪些个汉字出现的频率最高:

    import codecs
    import matplotlib.pyplot as plt
    from pylab import mpl
    mpl.rcParams['font.sans-serif'] = ['FangSong'] # 指定默认字体
    mpl.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题
     
    word = []
    counter = {}
     
    with codecs.open('data.txt') as fr:
     for line in fr:
      line = line.strip()
      if len(line) == 0:
       continue
      for w in line:
       if not w in word:
        word.append(w)
       if not w in counter:
        counter[w] = 0
       else:
        counter[w] += 1
     
    counter_list = sorted(counter.items(), key=lambda x: x[1], reverse=True)
     
    print(counter_list[:50])
     
    label = list(map(lambda x: x[0], counter_list[:50]))
    value = list(map(lambda y: y[1], counter_list[:50]))
     
    plt.bar(range(len(value)), value, tick_label=label)
    plt.show()

    结果如下:

    [(',', 288508), ('。', 261584), ('的', 188693), ('陈', 92565), ('欢', 92505), ('不', 91234), ('是', 90562), ('了', 86931), ('一', 79059), ('着', 77997), ('他'
    , 71695), ('这', 63580), ('人', 61210), ('“', 59719), ('”', 59115), ('有', 56054), ('就', 52862), ('个', 49097), ('都', 46850), ('你', 45400), ('来', 42659),
     ('我', 40057), ('在', 37676), ('们', 36966), ('到', 36351), ('说', 35828), ('还', 35260), ('么', 32601), ('下', 31742), ('地', 30692), ('得', 29904), ('上', 2
    9627), ('看', 28408), ('没', 28333), ('出', 27937), ('道', 27732), ('大', 27012), ('?', 26729), ('那', 26589), ('要', 26076), ('子', 25035), ('自', 24012), ('
    点', 23942), ('好', 21345), ('想', 21242), ('里', 20915), ('面', 20661), ('她', 20313), ('过', 20304), ('话', 20110)]

  • 相关阅读:
    PHP查询手机号归属地
    MSVC版本号对应关系
    IT界名人录
    QT5 Win7 项目封装发行版(C++)
    ANSI编码
    微信小程序 for循环说明
    virtualbox 虚拟机 安装win7系统 无法联网
    go 实现两个goroutine交替执行打印数字和字母
    go 学习之反射
    go 学习之数据类型
  • 原文地址:https://www.cnblogs.com/ngxt/p/11789130.html
Copyright © 2011-2022 走看看