最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

用Python分析周杰倫歌曲并進行數(shù)據(jù)可視化

2023-05-10 15:32 作者:下班被游戲打-  | 我要投稿

大家好,今天我們用python分析下周杰倫歌曲。為了盡量完整地呈現(xiàn)從原始數(shù)據(jù)到可視化的過程,接下來我們會先簡單講解數(shù)據(jù)的預(yù)處理過程,即如何將 JSON 數(shù)據(jù)轉(zhuǎn)化為Excel 格式,以及如何對周杰倫的歌曲進行分詞。

本案例中的歌詞數(shù)據(jù)來自中文歌詞數(shù)據(jù)庫,這個數(shù)據(jù)庫提供了華語歌手的歌曲及歌詞信息,數(shù)據(jù)以 JSON 格式存儲。

數(shù)據(jù)預(yù)處理指的是將原始數(shù)據(jù)處理成我們希望的格式,并提取出我們需要的信息。

在本案例中,我們需要先從數(shù)據(jù)庫中篩選出演唱者為周杰倫的歌曲,然后獲得這些歌曲的歌詞,并將它們存儲到純文本文檔(.txt 格式)中,以下提供兩種方法。

第一種方法,先把 JSON 文件轉(zhuǎn)換為 Excel 可以打開的 .csv 文件或 .xlsx 文件格式。這可以借助一些在線的轉(zhuǎn)換工具完成(如 JSON to CSV Converter)。一般而言,只需將文件拖入這些工具,選擇好轉(zhuǎn)換格式類型,即可轉(zhuǎn)換完成。接著,我們便可以在 Excel 中打開該數(shù)據(jù),然后單擊“數(shù)據(jù)→篩選”命令,選擇歌手為“周杰倫”的歌曲。之后,選中它們的歌詞,并將其粘貼到純文本文檔中。

第二種方法,通過 Python 進行數(shù)據(jù)預(yù)處理。首先,需要引入 JSON 庫(未安裝者通過 pip install json 安裝)。

import json

然后,讀取我們下載的 JSON 文件,存儲在名為 data 的變量中。


通過這幾行代碼,我們就獲得了周杰倫所有歌曲的歌詞數(shù)據(jù)(見圖1)。以這個 .txt 文件為基礎(chǔ),我們便可以進行詞頻統(tǒng)計了。


以下附上一種在 Python 中分詞的方法。首先引入 jieba 庫(安裝 :pip install jieba)、pandas 庫(安裝 :pip install pandas)、用于頻次統(tǒng)計的 Counter 庫,以及表單工具,代碼如下:


事先準備好一個中文的停用詞表(.txt 文件,里面包含一些常見的、需要過濾的中文標點和虛詞,可在網(wǎng)上下載),代碼如下:


打開歌詞文件,利用 jieba 庫進行分詞。分詞之后,刪除停用詞、去除無用的符號等。用 Counter 庫對清洗干凈的詞語進行頻次統(tǒng)計。然后將統(tǒng)計結(jié)果用 pandas庫轉(zhuǎn)換為數(shù)據(jù)表單,存儲為 Excel 文件,代碼如下:


由此,如下表所示,我們便獲得了分詞后的單詞及詞頻。使用這個文檔,我們就可以開始制作可視化了。



?由于是文本類數(shù)據(jù),我們首先想到的可視化形式可能是文字云。如果你使用 Python,則可以直接基于剛才的分析結(jié)果,調(diào)用wordcloud庫繪制文字云,代碼如下:


繪制結(jié)果如圖所示:


?不過,在代碼工具內(nèi)繪制文字云,進行定制化設(shè)計相對比較復(fù)雜。因此,也可以借助一些在線工具幫助我們實現(xiàn)更好的可視化效果。下面,我們以微詞云為例進行演示。


進入微詞云界面后,首先單擊“導入單詞”,進行數(shù)據(jù)導入。選擇“從 Excel 中導入關(guān)鍵詞”,然后上傳我們剛才得到的包含單詞和詞頻的 Excel 文檔(需要注意的是,微詞云目前對上傳的 Excel 文件格式有一定要求,比如,列名必須叫“單詞”和“詞頻”才能識別,詳見其頁面指引),即可生成文字云。


可以看到,微詞云的頁面上還有另外兩種導入數(shù)據(jù)的選項。其中,“簡單導入”支持用戶輸入用逗號隔開的單詞?!胺衷~篩詞后導入”則支持用戶粘貼長文本,然后由系統(tǒng)自動進行分詞和詞性判別。換句話說,如果你有一個文檔文件,也可以直接粘貼進微詞云進行分詞。


接下來我們用周杰倫的歌詞文檔來嘗試一下。選擇“分詞篩詞后導入”,然后將之前的 .txt 格式的文檔粘貼進微詞云。之后,單擊“開始分詞”,軟件就會自動把詞語切割出來,并按詞性歸類,結(jié)果如下圖所示。


可以看到,所有的詞語被按照動詞、名詞、形容詞、人名等歸類。詞語后面的括號標注了詞頻。同時,微詞云還自動幫我們把高頻的詞匯勾選出來。我們也可以根據(jù)個人需求,在這個界面中進一步編輯,例如只顯示名詞、只顯示動詞等,然后單擊“確定使用所選單詞”按鈕,即可生成詞云。


之后,我們可以在“配置”欄中編輯詞云的顯示方式。其中,“計算模式”指的是字體的大小是否嚴格與詞頻匹配,因此我們選擇“嚴格比例”。另外,我們還可以更改文字的顏色,以及文字云中單詞的數(shù)量等。在本案例中,我們把單詞數(shù)量調(diào)整到 200。調(diào)整完畢后,單擊右上角的“下載到本地”按鈕即可。

當然,雖然詞云在視覺上比較有趣,但在展示數(shù)據(jù)上卻不一定清晰。因此,我們也可以使用其他的圖表來進行可視化。比如,可以用圓面積來展示最高頻的詞匯。

以上,我們講解了使用 Python 分詞和使用在線工具分詞的兩種方法,大家可以根據(jù)本案例進行學習。


用Python分析周杰倫歌曲并進行數(shù)據(jù)可視化的評論 (共 條)

使用qq登录你需要登录后才可以评论。
青州市| 张北县| 青铜峡市| 乌恰县| 莎车县| 钟山县| 定日县| 桐柏县| 高陵县| 宣威市| 新蔡县| 巴林左旗| 武冈市| 香格里拉县| 保山市| 铅山县| 日喀则市| 西盟| 子长县| 雅江县| 祁门县| 乌拉特前旗| 河西区| 周至县| 黑水县| 卢氏县| 吉林省| 衡南县| 德阳市| 资阳市| 张家界市| 麻阳| 石景山区| 浮山县| 驻马店市| 临漳县| 林芝县| 隆尧县| 荣成市| 中方县| 富阳市|