Beyond的歌里最多是唏嘘吗? - Python分词+词频
看了一個Beyond的紀錄片, 提到這個. 覺得心有不甘, 于是搜集了24首歌詞, 用Python做了簡單分詞和詞頻統計.
統計了總出現次數(詞頻列表)和詞出現在歌曲的數目(詞所在文件數列表). 前者算進了所有重復歌詞, 后者是算某個詞出現在了幾首歌中.
源碼:
學習python中有什么不懂的地方,小編這里推薦加小編的python學習群:895 817 687 有任何不懂的都可以在里面交流,還有很好的視頻教程pdf學習資料,大家一起學習交流!import jieba import os所有詞 = [] 詞頻表 = {} 詞所在文件 = {} 詞所在文件數 = {} 路徑 = "數據" for 文件名 in os.listdir(路徑):print(文件名)with open(os.path.join(路徑, 文件名)) as 文件:內容 = 文件.read()分詞結果 = jieba.cut(內容)for 詞 in 分詞結果:if 詞 != " " and len(詞) != 1:所有詞.append(詞)if 詞 in 詞頻表:詞頻表[詞] += 1詞所在文件[詞].add(文件名)else:詞頻表[詞] = 1詞所在文件[詞] = set([文件名])for 詞 in 詞所在文件:詞所在文件數[詞] = len(詞所在文件[詞])# 詞頻列表 = sorted(詞頻表.items(), key=lambda d: d[1], reverse=True) 詞所在文件數列表 = sorted(詞所在文件數.items(), key=lambda d: d[1], reverse=True) print(詞所在文件數列表)前者的最高頻幾個中文詞(完整的在"所有詞頻輸出.txt"):
(‘多少’, 22), (‘一生’, 21), (‘多么’, 20), (‘理想’, 19), (‘沒有’, 19), (‘一天’, 19), (‘Woo’, 18), (‘今天’, 18), (‘心中’, 16), (‘一起’, 16), (‘OH’, 16), (‘唏噓’, 15), (‘彼此’, 14)
后者的前幾位(完整的在"所在文件數.txt"):
(‘多少’, 9), (‘心中’, 8), (‘沒有’, 8), (‘一切’, 8), (‘理想’, 7), (‘Woo’, 7), (‘一生’, 7), (‘今天’, 7), (‘唏噓’, 6), (‘擁有’, 6), (‘可否’, 5), (‘多么’, 5), (‘風雨’, 5), (‘感覺’, 5), (‘天空’, 5), (‘心里’, 5), (‘歲月’, 5)
至少這幾首經典里, "理想"比"唏噓"更多.
覺得如果有個IDE插件能把一些常用的Python操作集合起來, 如果組織得好, 會挺有用. 因為寫這個例子里, 包括取目錄下的文件, 讀取文本文件, 字典排序等等, 自己的第一反應還是到處找現成代碼黏貼.
總結
以上是生活随笔為你收集整理的Beyond的歌里最多是唏嘘吗? - Python分词+词频的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: IO多路复用select/poll/ep
- 下一篇: Github 大牛封装 Python 代