<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Python3紅樓夢人名出現(xiàn)次數(shù)統(tǒng)計分析

      一、程序說明

      本程序流程是讀取紅樓夢txt文件----使用jieba進行分詞----借助Counter讀取各人名出現(xiàn)次數(shù)并排序----使用matplotlib將結(jié)果可視化

      這里的統(tǒng)計除了將“熙鳳”出現(xiàn)的次數(shù)合并到“鳳姐”中外并沒有其他處理,但應該也大體能反映人物提及次數(shù)情況

       

      二、執(zhí)行結(jié)果展示

      條形圖:

      餅狀圖:

       

       

      三、程序源代碼

      import jieba
      from collections import Counter
      import matplotlib.pyplot as plt
      import numpy as np
      
      
      class HlmNameCount():
          # 此函數(shù)用于繪制條形圖
          def showNameBar(self,name_list_sort,name_list_count):
              # x代表條形數(shù)量
              x = np.arange(len(name_list_sort))
              # 處理中文亂碼
              plt.rcParams['font.sans-serif'] = ['SimHei']
              # 繪制條形圖,bars相當于句柄
              bars = plt.bar(x,name_list_count)
              # 給各條形打上標簽
              plt.xticks(x,name_list_sort)
              # 顯示各條形具體數(shù)量
              i = 0
              for bar in bars:
                  plt.text((bar.get_x() + bar.get_width() / 2), bar.get_height(), '%d' % name_list_count[i], ha='center', va='bottom')
                  i += 1
              # 顯示圖形
              plt.show()
      
          # 此函數(shù)用于繪制餅狀圖
          def showNamePie(self, name_list_sort, name_list_fracs):
              # 處理中文亂碼
              plt.rcParams['font.sans-serif'] = ['SimHei']
              # 繪制餅狀圖
              plt.pie(name_list_fracs, labels=name_list_sort, autopct='%1.2f%%', shadow=True)
              # 顯示圖形
              plt.show()
      
          def getNameTimesSort(self,name_list,txt_path):
              # 將所有人名臨時添加到jieba所用字典,以使jieba能識別所有人名
              for k in name_list:
                  jieba.add_word(k)
              # 打開并讀取txt文件
              file_obj = open(txt_path, 'rb').read()
              # jieba分詞
              jieba_cut = jieba.cut(file_obj)
              # Counter重新組裝以方便讀取
              book_counter = Counter(jieba_cut)
              # 人名列表,因為要處理鳳姐所以不直接用name_list
              name_dict ={}
              # 人名出現(xiàn)的總次數(shù),用于后邊計算百分比
              name_total_count = 0
              for k in name_list:
                  if k == '熙鳳':
                      # 將熙鳳出現(xiàn)的次數(shù)合并到鳳姐
                      name_dict['鳳姐'] += book_counter[k]
                  else:
                      name_dict[k] = book_counter[k]
                  name_total_count += book_counter[k]
              # Counter重新組裝以使用most_common排序
              name_counter = Counter(name_dict)
              # 按出現(xiàn)次數(shù)排序后的人名列表
              name_list_sort = []
              # 按出現(xiàn)次數(shù)排序后的人名百分比列表
              name_list_fracs = []
              # 按出現(xiàn)次數(shù)排序后的人名次數(shù)列表
              name_list_count = []
              for k,v in name_counter.most_common():
                  name_list_sort.append(k)
                  name_list_fracs.append(round(v/name_total_count,2)*100)
                  name_list_count.append(v)
                  # print(k+':'+str(v))
              # 繪制條形圖
              self.showNameBar(name_list_sort, name_list_count)
              # 繪制餅狀圖
              self.showNamePie(name_list_sort,name_list_fracs)
              
      
      if __name__ == '__main__':
          # 參與統(tǒng)計的人名列表,可修改成自己想要的列表
          name_list = ['寶玉', '黛玉', '寶釵', '元春', '探春', '湘云', '妙玉', '迎春', '惜春', '鳳姐', '熙鳳', '巧姐', '李紈', '可卿', '賈母', '賈珍', '賈蓉', '賈赦', '賈政', '王夫人', '賈璉', '薛蟠', '香菱', '寶琴', '襲人', '晴雯', '平兒', '紫鵑', '鶯兒']
          # 紅樓夢txt文件所在路徑,修改成自己文件所在路徑
          txt_path = 'F:/PycharmProjects/tutorial/hlm.txt'
          hnc = HlmNameCount()
          hnc.getNameTimesSort(name_list,txt_path)

       

      參考:

      https://github.com/fxsjy/jieba

      https://docs.python.org/3/library/collections.html#collections.Counter

      https://matplotlib.org/tutorials/introductory/sample_plots.html#sphx-glr-tutorials-introductory-sample-plots-py

       

      posted on 2018-06-19 20:49  諸子流  閱讀(12538)  評論(0)    收藏  舉報

      主站蜘蛛池模板: 人妻体内射精一区二区三区| 亚洲有无码中文网| 日韩精品中文字幕有码 | 久久av无码精品人妻系列试探| 免费播放一区二区三区| 暖暖 在线 日本 免费 中文| 狠狠亚洲色一日本高清色| 国产精品日本一区二区不卡视频 | 国产精品美女一区二三区| 国产稚嫩高中生呻吟激情在线视频| 亚洲熟妇色自偷自拍另类| 亚洲男人第一无码av网站| 欧美亚洲日本国产综合在线美利坚 | 吃奶还摸下面动态图gif| 亚洲日韩性欧美中文字幕| 亚洲av精彩一区二区| 亚洲AV无码破坏版在线观看| 92国产精品午夜福利免费| 无套内谢少妇毛片在线| 欧美牲交a欧美牲交aⅴ图片| 亚洲欧美人成人让影院| 日韩精品欧美高清区| 成av人电影在线观看| 国产亚洲精品成人av一区| 国产成人精品日本亚洲| 精品综合一区二区三区四区| a在线免费| 精品日韩亚洲av无码| 少妇人妻偷人免费观看| 激情综合色五月丁香六月亚洲| 美女一区二区三区亚洲麻豆| 国产精品久久久尹人香蕉| 国内不卡一区二区三区| 精品自拍偷拍一区二区三区 | 亚洲国产日韩a在线播放| 推油少妇久久99久久99久久| 一区二区亚洲人妻精品| 亚洲va久久久噜噜噜久久狠狠| 亚洲av鲁丝一区二区三区黄| 日韩一区二区三区无码a片| 国产一区二区三区的视频|