校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > 用Python實現網易云音樂的數據進行數據清洗和可視化分析

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

熱門標簽:西藏房產智能外呼系統要多少錢 外呼并發線路 宿遷星美防封電銷卡 百度地圖標注沒有了 ai電銷機器人源碼 長沙高頻外呼系統原理是什么 地圖標注審核表 ai電話機器人哪里好 湛江智能外呼系統廠家

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

對音樂數據進行數據清洗與可視化分析

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

歌曲評論:

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

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

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

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

分別查看下面分析結果。

  • 評論用戶年齡分布
  • 評論關鍵詞分布
  • 評論時間數量分布(年-月)
  • 評論時間數量分布(年-月-日)

對音樂數據進行數據清洗與可視化分析

import pandas as pd
import pymysql
from pyecharts import Bar,Pie,Line,Scatter,Map
TABLE_COMMENTS = '****'
TABLE_USERS = '****'
DATABASE = '****'
conn = pymysql.connect(host='localhost', user='****', passwd='****', db=DATABASE, charset='utf8mb4')
sql_users = 'SELECT id,gender,age,city FROM '+TABLE_USERS
sql_comments = 'SELECT id,time FROM '+TABLE_COMMENTS
comments = pd.read_sql(sql_comments, con=conn)
users = pd.read_sql(sql_users, con=conn)
# 評論時間(按天)分布分析
comments_day = comments['time'].dt.date
data = 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.hour
data = 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.dayofweek
data = 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')

可視化結果



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


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

https://blog.csdn.net/u011371360

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


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

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

歌詞文本分析

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

import numpy as np
import pymysql
from snownlp import SnowNLP
from pyecharts import Bar
TABLE_COMMENTS = '****'
DATABASE = '****'
SONGNAME = '****'
def getText():
	conn = pymysql.connect(host='localhost', user='root', passwd='root', db=DATABASE, charset='utf8')
	sql = 'SELECT id,content FROM '+TABLE_COMMENTS
	text = pd.read_sql(sql%(SONGNAME), con=conn)
	return text
def 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')

結果:


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

from wordcloud import WordCloud
import matplotlib.pyplot as plt
plt.style.use('ggplot')
plt.rcParams['axes.unicode_minus'] = False
def 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爬蟲實戰之網易云音樂加密解析附源碼

標簽:海南 南平 普洱 林芝 漯河 盤錦 寧夏 大同

巨人網絡通訊聲明:本文標題《用Python實現網易云音樂的數據進行數據清洗和可視化分析》,本文關鍵詞  用,Python,實現,網易,云,音,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《用Python實現網易云音樂的數據進行數據清洗和可視化分析》相關的同類信息!
  • 本頁收集關于用Python實現網易云音樂的數據進行數據清洗和可視化分析的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    免费久久99精品国产| 在线欧美日韩精品| 亚洲午夜在线观看视频在线| 欧美一卡二卡三卡四卡| av一二三不卡影片| 美国毛片一区二区三区| 天堂一区二区在线| 一区二区三区免费观看| 欧美精彩视频一区二区三区| 欧美精品视频www在线观看| 99久久国产综合精品麻豆| 国产在线精品国自产拍免费| 日韩福利视频网| 日韩电影在线看| 亚洲v中文字幕| 日本不卡一区二区三区高清视频| 亚洲福中文字幕伊人影院| 亚洲另类色综合网站| 136国产福利精品导航| 亚洲欧美日韩综合aⅴ视频| 国产欧美日韩三级| 国产精品久久网站| 成人欧美一区二区三区黑人麻豆| 国产欧美日韩视频一区二区| 国产精品美女久久久久高潮| 国产精品三级在线观看| 亚洲欧洲日韩一区二区三区| 精品一区免费av| 国产女人18毛片水真多成人如厕| 国产日产精品1区| 亚洲美女精品一区| 无码av免费一区二区三区试看| 日韩福利视频网| 9色porny自拍视频一区二区| 97久久久精品综合88久久| 欧美日本视频在线| 中文字幕av不卡| 午夜精品福利一区二区三区av| 久久99精品久久久久久久久久久久| 国产99久久久久久免费看农村| 菠萝蜜视频在线观看一区| 欧美日韩精品欧美日韩精品一| 欧美一区二区三区小说| 亚洲免费观看高清完整版在线观看 | 国产精品一区二区在线观看网站| av激情综合网| 精品成人一区二区| 亚洲一本大道在线| 成人一级片在线观看| 欧美一级二级三级乱码| 一区二区国产视频| 成人免费va视频| 欧美精品一区二区久久婷婷| 亚洲色图欧美偷拍| 国产福利一区二区三区视频| 7777精品伊人久久久大香线蕉的 | 丁香亚洲综合激情啪啪综合| 欧美日韩aaaaaa| 亚洲三级免费电影| 不卡av在线网| 国产无人区一区二区三区| 美女一区二区三区| 欧美日韩成人一区二区| 亚洲六月丁香色婷婷综合久久| 成人动漫一区二区三区| 久久综合久久综合久久综合| 九九九久久久精品| 日韩一卡二卡三卡四卡| 美女视频免费一区| 色诱亚洲精品久久久久久| 日韩一区中文字幕| 91色乱码一区二区三区| 亚洲欧洲另类国产综合| 99re亚洲国产精品| 日韩理论片一区二区| 91香蕉国产在线观看软件| 亚洲精品免费电影| 欧美日本在线播放| 日本不卡高清视频| 精品少妇一区二区三区视频免付费| 日韩精品1区2区3区| 精品久久久久香蕉网| 国产麻豆成人精品| 中文字幕av资源一区| 99v久久综合狠狠综合久久| 亚洲大片一区二区三区| 欧美一级二级三级乱码| 成人精品小蝌蚪| 黄网站免费久久| 欧美手机在线视频| 久久91精品国产91久久小草| 国产亚洲精品久| 欧洲中文字幕精品| 国产一区二区三区四区五区美女 | 91网站在线观看视频| 免费在线观看日韩欧美| 综合欧美一区二区三区| 精品捆绑美女sm三区| 91蜜桃免费观看视频| 久久se这里有精品| 综合分类小说区另类春色亚洲小说欧美 | 午夜亚洲福利老司机| 国产日韩精品一区| 日韩免费在线观看| 成人av电影在线网| 麻豆91在线播放免费| 亚洲一区二区三区三| 亚洲欧美在线高清| 久久久另类综合| 欧美精品一区二区三区在线 | 国产精品白丝jk黑袜喷水| 天堂va蜜桃一区二区三区漫画版| 久久精品这里都是精品| 欧美一区二区三区公司| 欧美熟乱第一页| 国产不卡一区视频| 久久99热99| 免费欧美日韩国产三级电影| 亚洲综合无码一区二区| 一区二区三区鲁丝不卡| 亚洲精品欧美二区三区中文字幕| 国产精品麻豆欧美日韩ww| 日韩精品一区二区三区视频播放 | 精品电影一区二区三区| 欧美一区二区三区视频在线观看| 欧美老年两性高潮| 欧美老女人第四色| 精品欧美一区二区在线观看| 日韩一级二级三级| 精品sm捆绑视频| 蜜臀久久99精品久久久久宅男| 日本aⅴ免费视频一区二区三区 | 天堂久久久久va久久久久| 日韩国产欧美在线播放| 国产伦精品一区二区三区免费| 国产一区二区三区蝌蚪| 成人免费的视频| 欧美日本国产一区| 精品福利视频一区二区三区| 久久亚洲一级片| 国产精品18久久久久| 色综合天天在线| 日韩一区二区三区四区五区六区| xvideos.蜜桃一区二区| 亚洲欧洲另类国产综合| 日本不卡123| 白白色亚洲国产精品| 欧美人伦禁忌dvd放荡欲情| 久久蜜桃av一区精品变态类天堂 | 国产一区二区视频在线播放| 91色porny在线视频| 欧美一级xxx| 亚洲成人福利片| www.99精品| 久久亚洲影视婷婷| 午夜精品福利一区二区蜜股av| 国产成人免费视频一区| 欧美一区二区三区视频| 亚洲精品免费播放| 99精品国产99久久久久久白柏| 精品久久久久久久久久久久包黑料| 一区二区三区中文字幕电影| 国产精品小仙女| 欧美mv日韩mv| 久久成人免费日本黄色| 欧美精品乱人伦久久久久久| 国产精品不卡在线观看| 激情图区综合网| 日韩欧美精品三级| 日韩激情中文字幕| 欧美电影影音先锋| 丝袜美腿成人在线| 欧美一区二区三区男人的天堂| 亚洲成人免费视| 91精品麻豆日日躁夜夜躁| 亚洲成av人影院| 欧美一区二区三区婷婷月色| 日韩制服丝袜先锋影音| 欧美日本韩国一区二区三区视频 | 久久久综合视频| 国产福利一区二区三区在线视频| 2014亚洲片线观看视频免费| 一区二区高清免费观看影视大全| www.欧美亚洲| 一级精品视频在线观看宜春院| 欧美日本精品一区二区三区| 香蕉av福利精品导航| 日韩免费成人网| 成人国产精品免费观看视频| 亚洲女子a中天字幕| 欧美日韩一区高清| 精品一二三四在线| 国产精品久久久久久久久晋中 | 欧美在线制服丝袜| 日本成人在线一区| 亚洲欧洲三级电影| 欧美成va人片在线观看| 99re热这里只有精品免费视频 | 欧美视频日韩视频在线观看| 另类中文字幕网|