西游記中出現(xiàn)最多的字竟然是這個(gè)字

前言

最近在學(xué)習(xí)python數(shù)據(jù)統(tǒng)計(jì)相關(guān)的知識(shí),基于‘實(shí)踐出真知’以及‘知之者不如好之者,好之者不如樂(lè)之者’兩大亙古不變的理論,特撰寫(xiě)本文。

統(tǒng)計(jì)結(jié)果

為了滿足部分同學(xué)強(qiáng)烈的好奇心,小碼哥先將部分統(tǒng)計(jì)結(jié)果公布出來(lái)。若想了解詳細(xì)操作流程且有一定python基礎(chǔ)的同學(xué)可以繼續(xù)閱讀。

部分統(tǒng)計(jì)結(jié)果

由上圖我們可以知道,西游記中出現(xiàn)最多的字是"道" 出現(xiàn)了11078次

數(shù)據(jù)分析

數(shù)據(jù)獲取

本次小碼哥使用的數(shù)據(jù)是問(wèn)度娘要來(lái)的,不想麻煩的同學(xué)可以直接用小碼哥的數(shù)據(jù)(點(diǎn)擊下載)

數(shù)據(jù)讀入

數(shù)據(jù)下載到本地后,用python內(nèi)置函數(shù)open() 將數(shù)據(jù)讀入

    fr = open('數(shù)據(jù)文件路徑','r')
    characters = [] #存儲(chǔ)所有漢字
    stat = {}   #存儲(chǔ)每個(gè)漢字出現(xiàn)的次數(shù)

數(shù)據(jù)處理

由于原數(shù)據(jù)中含有大量標(biāo)點(diǎn)符號(hào)、空白、換行等,為了不影響分析結(jié)果我們應(yīng)該先把這些雜質(zhì)剔除。

    for line in fr:
        # 去掉每一行兩邊的空白
        line = line.strip()
        # 如果為空行則跳過(guò)該輪循環(huán)
        if len(line) == 0:
            continue
        # 將文本轉(zhuǎn)為unicode,便于處理漢字
        line = unicode(line)
        # 遍歷該行的每一個(gè)字
        for x in xrange(0, len(line)):
            # 去掉標(biāo)點(diǎn)符號(hào)和空白符
            if line[x] in [' ', '\t', '\n', '。', ',', '(', ')', '(', ')', ':', '□', '?', '!', '《', '》', '、', ' ',']', ';', '“', '”', '……']:
                continue
            # 尚未記錄在characters中
            if not line[x] in characters:
                characters.append(line[x])
            # 尚未記錄在stat中
            if not stat.has_key(line[x]):
                stat[line[x]] = 0
            # 漢字出現(xiàn)次數(shù)加1
            stat[line[x]] += 1

數(shù)據(jù)輸出

為了便于觀察,小碼哥將結(jié)果輸出為一個(gè).csv 文件(可導(dǎo)入Excel)

    # lambda生成一個(gè)臨時(shí)函數(shù)
    # d表示字典的每一對(duì)鍵值對(duì),d[0]為key,d[1]為value
    # reverse為True表示降序排序
    stat = sorted(stat.items(), key=lambda d:d[1], reverse=True)
    fw = open('result.csv', 'w')
    for item in stat:
        # 進(jìn)行字符串拼接之前,需要將int轉(zhuǎn)為str
        fw.write(item[0] + ',' + str(item[1]) + '\n')

后記

  • 鑒于有熱心同學(xué)在評(píng)論里建議小碼哥生成詞云,小碼哥很愉快的采納了這個(gè)建議,后續(xù)將上傳。
  • 閱讀完本文,你有什么感受或建議都可以寫(xiě)在評(píng)論里讓小碼哥知道,小碼哥看到后會(huì)第一時(shí)間回復(fù)。
  • 若大家覺(jué)得本篇文章還不錯(cuò),麻煩在右下角給小碼哥點(diǎn)個(gè)喜歡,鼓勵(lì)小碼哥繼續(xù)創(chuàng)作!
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一、Python簡(jiǎn)介和環(huán)境搭建以及pip的安裝 4課時(shí)實(shí)驗(yàn)課主要內(nèi)容 【Python簡(jiǎn)介】: Python 是一個(gè)...
    _小老虎_閱讀 6,320評(píng)論 0 10
  • 關(guān)于Mongodb的全面總結(jié) MongoDB的內(nèi)部構(gòu)造《MongoDB The Definitive Guide》...
    中v中閱讀 32,288評(píng)論 2 89
  • 用兩張圖告訴你,為什么你的 App 會(huì)卡頓? - Android - 掘金 Cover 有什么料? 從這篇文章中你...
    hw1212閱讀 13,961評(píng)論 2 59
  • 張小曼最近覺(jué)得自己得了一種怪病,不管她多喜歡一個(gè)人都不超過(guò)一個(gè)月,然后她就會(huì)像饑渴的獵人一樣,尋找下一個(gè)獵物,當(dāng)然...
    呢喃雪閱讀 412評(píng)論 2 3
  • 曾經(jīng)一張地鐵上面兩個(gè)女孩挨著坐,一個(gè)無(wú)精打采身材臃腫坐姿豪邁,一個(gè)腰背板直衣著妥帖梳妝整齊體態(tài)優(yōu)美,這兩位雖說(shuō)年齡...
    桃滔滔閱讀 1,631評(píng)論 0 1

友情鏈接更多精彩內(nèi)容