1. 优客号首页
  2. 用户投稿

用Python实现网易云音乐的数据进行数据清洗和可视化分析

用Python实现网易云音乐的数据进行数据清洗和可视化分析目录Python实现对网易云音乐的数据进行一个数据清洗和可视化分析对音乐数据进行数据清洗与可视化分析对音乐数据进行数据清洗与可视化分析歌词文本分析总结Python实现对网易云音乐的数

目录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如何做数据分析

苹果调整iOS16界面UI适配机型(iOS16系统或将首发登场)

用Python做数据分析,大致流程如下:

1.数据获取
可以通过SQL查询语句来获取数据库中想要数据。Python已经具有连接sql server、mysql、orcale等主流数据库的接口包,比如pymssql、pymysql、cx_Oracle等。

对于使用Python进行网络抓取的数据,我们也可以使用pymysql包快速地将其存储到Mysql中去。

3.数据预处理/数据清洗
大多数情况下,原始数据是存在格式不一致,存在异常值、缺失值等问题的,而不同项目数据预处理步骤的方法也不一样。Python做数据清洗,可以使用Numpy和Pandas这两个工具库。

4.数据建模与分析
常见的数据挖掘模型有:分类、聚类、回归等,这些常见的算法模型,Python也有Scikit-learn和Tensorflow工具库来支持。


5.数据可视化分析
在数据可视化方面,Python有Matplotlib、Seaborn、Pyecharts等工具库可用。

如何用Python进行大数据挖掘和分析?

苹果调整iOS16界面UI适配机型(iOS16系统或将首发登场)

如何用Python进行大数据挖掘和分析?快速入门路径图大数据无处不在。在时下这个年代,不管你喜欢与否,在运营一个成功的商业的过程中都有可能会遇到它。

单独而言,你能从单一的数据获取的洞见穷其有限。但是结合复杂数学模型以及强大计算能力的TB级数据,却能创造出人类无法制造的洞见。大数据分析提供给商业的价值是无形的,并且每天都在超越人类的能力。大数据分析的第一步就是要收集数据本身,也就是众所周知的“数据挖掘”。

大部分的企业处理着GB级的数据,这些数据有用户数据、产品数据和地理位置数据。今天,我将会带着大家一起探索如何用 Python 进行大数据挖掘和分析?为什么选择Python?Python最大的优点就是简单易用。这个语言有着直观的语法并且还是个强大的多用途语言。

这一点在大数据分析环境中很重要,并且许多企业内部已经在使用Python了,比如Google,YouTube,迪士尼等。还有,Python是开源的,并且有很多用于数据科学的类库。现在,如果你真的要用Python进行大数据分析的话,毫无疑问你需要了解Python的语法,理解正则表达式,知道什么是元组、字符串、字典、字典推导式、列表和列表推导式——这只是开始。

数据分析流程一般可以按“数据获取-数据存储与提取-数据预处理-数据建模与分析-数据可视化”这样的步骤来实施一个数据分析项目。按照这个流程,每个部分需要掌握的细分知识点如下:数据获取:公开数据、Python爬虫外部数据的获取方式主要有以下两种。第一种是获取外部的公开数据集,一些科研机构、企业、政府会开放一些数据,你需要到特定的网站去下载这些数据。

这些数据集通常比较完善、质量相对较高。另一种获取外部数据的方式就是爬虫。比如你可以通过爬虫获取招聘网站某一职位的招聘信息,爬取租房网站上某城市的租房信息,爬取豆瓣评分评分最高的电影列表,获取知乎点赞排行、网易云音乐评论排行列表。基于互联网爬取的数据,你可以对某个行业、某种人群进行分析。

在爬虫之前你需要先了解一些 Python 的基础知识:元素(列表、字典、元组等)、变量、循环、函数………以及,如何用 Python 库(urllib、BeautifulSoup、requests、scrapy)实现网页爬虫。掌握基础的爬虫之后,你还需要一些高级技巧,比如正则表达式、使用cookie信息、模拟用户登录、抓包分析、搭建代理池等等,来应对不同网站的反爬虫限制。数据存取:SQL语言在应对万以内的数据的时候,Excel对于一般的分析没有问题,一旦数据量大,就会力不从心,数据库就能够很好地解决这个问题。而且大多数的企业,都会以SQL的形式来存储数据。

SQL作为最经典的数据库工具,为海量数据的存储与管理提供可能,并且使数据的提取的效率大大提升。你需要掌握以下技能:提取特定情况下的数据数据库的增、删、查、改数据的分组聚合、如何建立多个表之间的联系数据预处理:Python(pandas)很多时候我们拿到的数据是不干净的,数据的重复、缺失、异常值等等,这时候就需要进行数据的清洗,把这些影响分析的数据处理好,才能获得更加精确地分析结果。对于数据预处理,学会 pandas (Python包)的用法,应对一般的数据清洗就完全没问题了。需要掌握的知识点如下:选择:数据访问缺失值处理:对缺失数据行进行删除或填充重复值处理:重复值的判断与删除异常值处理:清除不必要的空格和极端、异常数据相关操作:描述性统计、Apply、直方图等合并:符合各种逻辑关系的合并操作分组:数据划分、分别执行函数、数据重组Reshaping:快速生成数据透视表概率论及统计学知识需要掌握的知识点如下:基本统计量:均值、中位数、众数、百分位数、极值等其他描述性统计量:偏度、方差、标准差、显著性等其他统计知识:总体和样本、参数和统计量、ErrorBar概率分布与假设检验:各种分布、假设检验流程其他概率论知识:条件概率、贝叶斯等有了统计学的基本知识,你就可以用这些统计量做基本的分析了。

你可以使用 Seaborn、matplotlib 等(python包)做一些可视化的分析,通过各种可视化统计图,并得出具有指导意义的结果。Python 数据分析掌握回归分析的方法,通过线性回归和逻辑回归,其实你就可以对大多数的数据进行回归分析,并得出相对精确地结论。这部分需要掌握的知识点如下:回归分析:线性回归、逻辑回归基本的分类算法:决策树、随机森林……基本的聚类算法:k-means……特征工程基础:如何用特征选择优化模型调参方法:如何调节参数优化模型Python 数据分析包:scipy、numpy、scikit-learn等在数据分析的这个阶段,重点了解回归分析的方法,大多数的问题可以得以解决,利用描述性的统计分析和回归分析,你完全可以得到一个不错的分析结论。

当然,随着你实践量的增多,可能会遇到一些复杂的问题,你就可能需要去了解一些更高级的算法:分类、聚类。然后你会知道面对不同类型的问题的时候更适合用哪种算法模型,对于模型的优化,你需要去了解如何通过特征提取、参数调节来提升预测的精度。你可以通过 Python 中的 scikit-learn 库来实现数据分析、数据挖掘建模和分析的全过程。

如何用python进行数据分析

苹果调整iOS16界面UI适配机型(iOS16系统或将首发登场)

1.Python数据分析流程及学习路径
数据分析的流程概括起来主要是:读写、处理计算、分析建模和可视化四个部分。在不同的步骤中会用到不同的Python工具。

根据每个部分需要用到的工具,Python数据分析的学习路径如下:
相关推荐:《Python入门教程》

2.利用Python读写数据
Python读写数据,主要包括以下内容:
我们以一小段代码来看:
可见,仅需简短的两三行代码即可实现Python读入EXCEL文件。

3.利用Python处理和计算数据
在第一步和第二步,我们主要使用的是Python的工具库NumPy和pandas。其中,NumPy主要用于矢量化的科学计算,pandas主要用于表型数据处理。

4.利用Python分析建模
在分析和建模方面,主要包括Statsmdels和Scikit-learn两个库。

Statsmodels允许用户浏览数据,估计统计模型和执行统计测试。可以为不同类型的数据和每个估算器提供广泛的描述性统计,统计测试,绘图函数和结果统计列表。

Scikit-leran则是著名的机器学习库,可以迅速使用各类机器学习算法。

5.利用Python数据可视化
数据可视化是数据工作中的一项重要内容,它可以辅助分析也可以展示结果。

如何通过爬虫实现对网易云音乐用户信息的抓取

苹果调整iOS16界面UI适配机型(iOS16系统或将首发登场)

现在想爬取的话基本上就得自己编程吧,现在环境不是以前随便写个爬虫就能爬的环境了,尤其是现在各行业排在前面的软件公司,这些数据对他们来说都是价值,现在想批量爬取就得破反爬机制了,像软件的那种也就随便爬几条数据IP就被封了,要么自己深入学,要么找一些代理爬虫帮你,我们就是做这一块的,很了解了。

利用python进行数据分析 用什么软件

苹果调整iOS16界面UI适配机型(iOS16系统或将首发登场)

•将IPython这个交互式Shell作为你的首要开发环境。

•学习NumPy(Numerical Python)的基础和高级知识。

•利用高性能工具对数据进行加载、清理、转换、合并以及重塑。

•利用matplotlib创建散点图以及静态或交互式的可视化结果。

•利用pandas的groupby功能对数据集进行切片、切块和汇总操作。

•处理各种各样的时间序列数据。

•通过详细的案例学习如何解决Web分析、社会科学、金融学以及经•济学等领域的问题。

如何评价《利用python进行数据分析》这本书

苹果调整iOS16界面UI适配机型(iOS16系统或将首发登场)

如何用爬虫获取网易云音乐歌单中的歌曲

苹果调整iOS16界面UI适配机型(iOS16系统或将首发登场)

推荐大家使用下【】神箭手云爬虫】,完全在云上编写和执行爬虫,不需要配置任何开发环境,快速开发快速实现。

简单几行 javascript 就可以实现复杂的爬虫,同时提供很多功能函数:反反爬虫、 js 渲染、数据发布、图表分析、反防盗链等,这些在开发爬虫过程中经常会遇到的问题都由神箭手帮你解决。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表优客号立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:https://www.youkehao.org.cn/article/42651.html

如若内容造成侵权/违法违规/事实不符,请联系优客号进行投诉反馈,一经查实,立即删除!

发表评论

登录后才能评论