成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術文章
文章詳情頁

用Python實現網易云音樂的數據進行數據清洗和可視化分析

瀏覽:178日期:2022-07-28 18:26:52
目錄Python實現對網易云音樂的數據進行一個數據清洗和可視化分析對音樂數據進行數據清洗與可視化分析對音樂數據進行數據清洗與可視化分析歌詞文本分析總結Python實現對網易云音樂的數據進行一個數據清洗和可視化分析對音樂數據進行數據清洗與可視化分析

關于數據的清洗,實際上在上一一篇文章關于抓取數據的過程中已經做了一部分,后面我又做了一下用戶數據的抓取

歌曲評論:

用Python實現網易云音樂的數據進行數據清洗和可視化分析

用Python實現網易云音樂的數據進行數據清洗和可視化分析

包括后臺返回的空用戶信息、重復數據的去重等。除此之外,還要進行一些清洗:用戶年齡錯誤、用戶城市編碼轉換等。

關于數據的去重,評論部分可以以sommentId為數據庫索引,利用數據庫來自動去重;用戶信息部分以用戶ID為數據庫索引實現自動去重。

API返回的用戶年齡一般是時間戳的形式(以毫秒計)、有時候也會返回一個負值或者一個大于當前時間的值,暫時沒有找到這兩種值代表的含義,故而一律按0來處理。

API返回的用戶信息中,城市分為province和city兩個字段,本此分析中只保存了city字段。實際上字段值是一個城市code碼,具體對照在這里下載。利用Python的數據處理庫pandas進行數據處理,利用可視化庫pyecharts進行數據可視化。

分別查看下面分析結果。

評論用戶年齡分布 評論關鍵詞分布 評論時間數量分布(年-月) 評論時間數量分布(年-月-日)對音樂數據進行數據清洗與可視化分析

import pandas as pdimport pymysqlfrom pyecharts import Bar,Pie,Line,Scatter,MapTABLE_COMMENTS = ’****’TABLE_USERS = ’****’DATABASE = ’****’conn = pymysql.connect(host=’localhost’, user=’****’, passwd=’****’, db=DATABASE, charset=’utf8mb4’)sql_users = ’SELECT id,gender,age,city FROM ’+TABLE_USERSsql_comments = ’SELECT id,time FROM ’+TABLE_COMMENTScomments = pd.read_sql(sql_comments, con=conn)users = pd.read_sql(sql_users, con=conn)# 評論時間(按天)分布分析comments_day = comments[’time’].dt.datedata = comments_day.id.groupby(comments_day[’time’]).count()line = Line(’評論時間(按天)分布’)line.use_theme(’dark’)line.add(’’,data.index.values,data.values,is_fill=True,)line.render(r’./評論時間(按天)分布.html’)# 評論時間(按小時)分布分析comments_hour = comments[’time’].dt.hourdata = comments_hour.id.groupby(comments_hour[’time’]).count()line = Line(’評論時間(按小時)分布’)line.use_theme(’dark’)line.add(’’,data.index.values,data.values,is_fill=True,)line.render(r’./評論時間(按小時)分布.html’)# 評論時間(按周)分布分析comments_week = comments[’time’].dt.dayofweekdata = comments_week.id.groupby(comments_week[’time’]).count()line = Line(’評論時間(按周)分布’)line.use_theme(’dark’)line.add(’’,data.index.values,data.values,is_fill=True,)line.render(r’./評論時間(按周)分布.html’)# 用戶年齡分布分析age = users[users[’age’]>0]# 清洗掉年齡小于1的數據age = age.id.groupby(age[’age’]).count()# 以年齡值對數據分組Bar = Bar(’用戶年齡分布’)Bar.use_theme(’dark’)Bar.add(’’,age.index.values,age.values,is_fill=True,)Bar.render(r’./用戶年齡分布圖.html’)# 生成渲染的html文件# 用戶地區分布分析# 城市code編碼轉換def city_group(cityCode): city_map = {’11’: ’北京’,’12’: ’天津’,’31’: ’上海’,’50’: ’重慶’,’5e’: ’重慶’,’81’: ’香港’,’82’: ’澳門’,’13’: ’河北’,’14’: ’山西’,’15’: ’內蒙古’,’21’: ’遼寧’,’22’: ’吉林’,’23’: ’黑龍江’,’32’: ’江蘇’,’33’: ’浙江’,’34’: ’安徽’,’35’: ’福建’,’36’: ’江西’,’37’: ’山東’,’41’: ’河南’,’42’: ’湖北’,’43’: ’湖南’,’44’: ’廣東’,’45’: ’廣西’,’46’: ’海南’,’51’: ’四川’,’52’: ’貴州’,’53’: ’云南’,’54’: ’西藏’,’61’: ’陜西’,’62’: ’甘肅’,’63’: ’青海’,’64’: ’寧夏’,’65’: ’新疆’,’71’: ’臺灣’,’10’: ’其他’, } return city_map[cityCode[:2]]city = users[’city’].apply(city_group)city = city.id.groupby(city[’city’]).count()map_ = Map(’用戶地區分布圖’)map_.add(’’,city.index.values,city.values,maptype=’china’,is_visualmap=True,visual_text_color=’#000’,is_label_show=True,)map_.render(r’./用戶地區分布圖.html’)

可視化結果

用Python實現網易云音樂的數據進行數據清洗和可視化分析

用Python實現網易云音樂的數據進行數據清洗和可視化分析

評論時間按周分布圖可以看出,評論數在一周當中前面較少,后面逐漸增多,這可以解釋為往后接近周末,大家有更多時間來聽聽歌、刷刷歌評,而一旦周末過完,評論量馬上下降(周日到周一的下降過渡),大家又回歸到工作當中。

用Python實現網易云音樂的數據進行數據清洗和可視化分析

評論時間按小時分布圖可以看出,評論數在一天當中有兩個小高峰:11點-13點和22點-0點。這可以解釋為用戶在中午午飯時間和晚上下班(課)在家時間有更多的時間來聽歌刷評論,符合用戶的日常。至于為什么早上沒有出現一個小高峰,大概是早上大家都在搶時間上班(學),沒有多少時間去刷評論。

用Python實現網易云音樂的數據進行數據清洗和可視化分析

https://blog.csdn.net/u011371360

用戶年齡分布圖可以看出,用戶大多集中在14-30歲之間,以20歲左右居多,除去虛假年齡之外,這個年齡分布也符合網易云用戶的年齡段。圖中可以看出28歲有個高峰,猜測可能是包含了一些異常數據,有興趣的化可以做進一步分析。

用Python實現網易云音樂的數據進行數據清洗和可視化分析

用戶地區分布圖可以看出,用戶涵蓋了全國各大省份,因為中間數據(坑)的缺失,并沒有展現出哪個省份特別突出的情況。對別的歌評(完全數據)的可視化分析,可以看出明顯的地區分布差異。

此次分析只是對某一首歌曲評論時間、用戶年齡/地區分布進行的,實際上抓取到的信息不僅僅在于此,可以做進一步分析(比如利用評論內容進行文本內容分析等),這部分,未來會進一步分析。當然也可以根據自己情況對不同歌曲進行分析。

歌詞文本分析

情感分析采用Python的文本分析庫snownlp,代碼如下:

import numpy as npimport pymysqlfrom snownlp import SnowNLPfrom pyecharts import BarTABLE_COMMENTS = ’****’DATABASE = ’****’SONGNAME = ’****’def getText():conn = pymysql.connect(host=’localhost’, user=’root’, passwd=’root’, db=DATABASE, charset=’utf8’)sql = ’SELECT id,content FROM ’+TABLE_COMMENTStext = pd.read_sql(sql%(SONGNAME), con=conn)return textdef getSemi(text):text[’content’] = text[’content’].apply(lambda x:round(SnowNLP(x).sentiments, 2))semiscore = text.id.groupby(text[’content’]).count()bar = Bar(’評論情感得分’)bar.use_theme(’dark’)bar.add(’’,y_axis = semiscore.values,x_axis = semiscore.index.values,is_fill=True,)bar.render(r’情感得分分析.html’)text[’content’] = text[’content’].apply(lambda x:1 if x>0.5 else -1)semilabel = text.id.groupby(text[’content’]).count()bar = Bar(’評論情感標簽’)bar.use_theme(’dark’)bar.add(’’,y_axis = semilabel.values,x_axis = semilabel.index.values,is_fill=True,)bar.render(r’情感標簽分析.html’)

結果:

用Python實現網易云音樂的數據進行數據清洗和可視化分析

用Python實現網易云音樂的數據進行數據清洗和可視化分析

詞云生成采用jieba分詞庫分詞,wordcloud生成詞云,代碼如下:

from wordcloud import WordCloudimport matplotlib.pyplot as pltplt.style.use(’ggplot’)plt.rcParams[’axes.unicode_minus’] = Falsedef getWordcloud(text):text = ’’.join(str(s) for s in text[’content’] if s)word_list = jieba.cut(text, cut_all=False)stopwords = [line.strip() for line in open(r’./StopWords.txt’, ’r’).readlines()]# 導入停用詞clean_list = [seg for seg in word_list if seg not in stopwords] #去除停用詞clean_text = ’’.join(clean_list)# 生成詞云cloud = WordCloud( font_path = r’C:/Windows/Fonts/msyh.ttc’, background_color = ’white’, max_words = 800, max_font_size = 64)word_cloud = cloud.generate(clean_text)# 繪制詞云plt.figure(figsize=(12, 12))plt.imshow(word_cloud)plt.axis(’off’)plt.show()if __name__ == ’__main__’:text = getText()getSemi(text)getWordcloud(text)總結

本篇文章就到這里了,希望能給你帶來幫助,也希望您能夠多多關注好吧啦網的更多內容!

標簽: 網易云 Python
相關文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
亚洲综合精品四区| 日韩电影一区二区三区| 偷拍亚洲欧洲综合| 国产欧美亚洲一区| 亚洲天堂精品视频| 亚洲精品三级| 一区二区三区四区乱视频| 亚洲美女一区| 亚洲免费在线电影| 日韩午夜免费视频| 亚洲自拍偷拍九九九| 欧美日韩福利| 国产精品色婷婷| 国产精品二区三区四区| 国产精品理论在线观看| 欧美精品一卡| 中文字幕日韩精品一区| 亚洲国产精品第一区二区三区| 国产视频在线观看一区二区三区 | 欧美日韩一区二区三区四区| 美女一区二区在线观看| 欧美色网站导航| 国产乱码精品一区二区三区av| 欧美日韩精品欧美日韩精品一 | 久久免费黄色| 日韩 欧美一区二区三区| 欧美亚洲免费在线一区| 激情文学综合网| 日韩午夜av一区| 成人爱爱电影网址| 久久精品一区四区| 一区一区视频| 亚洲超碰97人人做人人爱| 色婷婷av一区二区三区软件| 蜜桃av一区二区| 日韩欧美中文一区二区| 91视视频在线直接观看在线看网页在线看| 国产欧美日韩卡一| 亚洲欧洲一区二区天堂久久| 天天av天天翘天天综合网| 欧美优质美女网站| 成人精品小蝌蚪| 国产精品嫩草久久久久| 亚洲欧美大片| 国内精品久久久久影院色| 精品精品欲导航| 亚洲图片在线| 亚洲v日本v欧美v久久精品| 欧美性大战久久久| 国产馆精品极品| 国产人久久人人人人爽| 亚洲黄色影片| 日产国产高清一区二区三区| 91麻豆精品国产自产在线| av电影在线观看完整版一区二区| 国产精品久久久久aaaa樱花 | 精品无人码麻豆乱码1区2区| 亚洲精品一区二区三区在线观看| 亚洲视频欧美在线| 五月天精品一区二区三区| 欧美伦理电影网| 成人短视频下载| 亚洲精品欧美二区三区中文字幕| 欧洲国内综合视频| 99re这里只有精品6| 综合激情成人伊人| 欧美最猛性xxxxx直播| 成人福利视频在线| 一区二区三区 在线观看视频| 欧美午夜精品一区二区三区| 91污片在线观看| 亚洲成人一区二区在线观看| 欧美一区二区在线免费播放| 韩日成人av| 麻豆精品在线播放| 国产亚洲欧美日韩在线一区| 亚洲开发第一视频在线播放| 紧缚奴在线一区二区三区| 国产精品视频yy9299一区| 欧洲中文字幕精品| 国内综合精品午夜久久资源| 七七婷婷婷婷精品国产| 国产人成一区二区三区影院| 色呦呦网站一区| 91免费国产在线| 天堂在线一区二区| 精品国产三级a在线观看| 99在线热播精品免费99热| 国产精品自拍在线| 自拍偷在线精品自拍偷无码专区| 欧美日韩综合一区| 欧美 亚欧 日韩视频在线| 亚洲成a人片在线不卡一二三区| 日韩美女天天操| 亚洲一区二区精品在线| 成人黄色电影在线 | 2024国产精品视频| 久久久久久久久久久久久久一区| 91在线观看视频| 欧美aaa在线| 中文字幕一区二区在线播放| 欧美日韩不卡一区二区| 亚洲黄页一区| 国产成人午夜99999| 一区二区久久久久久| 欧美成人综合网站| 美日韩精品免费| 欧美99在线视频观看| 久久99精品一区二区三区三区| 亚洲欧洲99久久| 日韩欧美中文字幕公布| 免费在线一区二区| 国产一区二区三区无遮挡| 国产伦理精品不卡| 亚洲成人一区在线| 国产欧美日韩激情| 欧美日本不卡视频| 欧美亚洲自偷自偷| 91丝袜国产在线播放| 日韩不卡免费视频| 亚洲欧美在线观看| 精品少妇一区二区三区日产乱码| 色婷婷激情一区二区三区| 亚洲理伦在线| 91在线看国产| 国产在线播放一区二区三区| 亚洲高清久久久| 中文字幕在线不卡视频| 精品久久久影院| 欧美精品一卡两卡| 日本道免费精品一区二区三区| 伊人久久婷婷| 91免费视频大全| 国产成人精品综合在线观看 | 欧美一区二区在线看| 日本久久精品电影| 国产日韩亚洲| 国产一区二区三区四区三区四| 成人永久免费视频| 极品美女销魂一区二区三区| 午夜精品久久久久久久久| 亚洲免费观看视频| 国产精品久久久久精k8| 久久久久久久久久美女| 日韩一区二区精品在线观看| 91官网在线观看| 西西裸体人体做爰大胆久久久| 国产精品sm| 99久久婷婷国产综合精品电影| 国产在线精品一区在线观看麻豆| 天天色天天操综合| 亚洲一二三四在线| 亚洲欧美一区二区在线观看| 国产亚洲欧美日韩日本| 欧美r级在线观看| 日韩欧美在线不卡| 日韩欧美一二三四区| 日韩欧美国产一区在线观看| 日韩一区二区免费电影| 日韩一级免费观看| 欧美精品电影在线播放| 欧美日韩一级大片网址| 欧美午夜精品一区| 色婷婷综合在线| 久久久精品午夜少妇| 国产精品一区在线播放| 妖精视频成人观看www| 亚洲精华国产欧美| 亚洲精品一区二区三| 影音先锋久久精品| 亚洲性视频h| 影音先锋日韩资源| 国产欧美日韩一区| 国产欧美日韩综合一区在线观看| 国产视频一区三区| 国产亚洲第一区| 国产欧美一级| 国产精品一区免费观看| 亚洲一区二区成人| 老牛嫩草一区二区三区日本| 在线观看视频一区| 51午夜精品国产| 精品奇米国产一区二区三区| 久久日韩精品一区二区五区| 国产日产欧美一区二区视频| **性色生活片久久毛片| 亚洲激情自拍偷拍| 日韩国产一二三区| 久久9热精品视频| 国产精品一区二区三区99| 国产成人免费视频网站 | 国产精品一区免费视频| 高清不卡一二三区| 色综合久久综合网| 精品白丝av| 久久精品二区三区| 欧美色精品在线视频| 日韩欧美中文一区| 欧美高清在线一区| 亚洲一级在线观看|