1
音乐数据
1)数据获取
因为平时听歌都使用QQ音乐,此次分析所需数据全部来自QQ音乐网站,使用爬虫工具获取刘德华的全部歌曲列表,然后分别爬取了对应的歌曲详情和专辑信息,共得到778条歌曲数据和119条专辑数据,样式如下:
可以看到,歌曲的原始数据中有很多干扰项和空值,专辑数据也是类似的情况,所以在进行分析之前要做一些基本的数据清洗工作。
2).数据清洗
这一步的数据清洗主要目的是去除各字段数据中的干扰项,获取准确的歌曲名称、发行时间、评论数等有效信息,都是老生常谈的操作,直接上代码:
sdf = pd.read_excel(sfile)
sdf['歌曲名称'] = sdf['歌曲名称'].str.split('(').str[0].str.split('《').str[0].str.split('原 唱').str[0].str.strip()
sdf['发行时间'] = sdf['发行时间'].str.split(':').str[1]
sdf['语种'] = sdf['语种'].str.split(':').str[1]
sdf['流派'] = sdf['流派'].str.split(':').str[1]
sdf['评论数'] = sdf['评论数'].str.replace('评论', '').str.replace('(', '').str.replace(')', '') sdf.drop_duplicates(subset=['歌曲名称', '专辑'], inplace=True)
(代码可以左右滑动)
清洗后的歌曲信息和专辑信息如下:
2
统计分析
1)歌曲演唱频率
刘德华的歌曲很多,有些歌曲曾在不同的专辑、不同的演唱会中多次出现,我们以歌曲出现的频次为权重,绘制一幅歌曲名称词云图。从图中可以看出《忘情水》、《爱你一万年》、《谢谢你的爱》等歌曲演唱频率相对较高, 这几首歌曲对80年代出生的人来说真是再熟悉不过了,都是满满的回忆啊。
2).歌曲发行时间
从每年发行的歌曲数量和评论上看可以发行:
1).刘德华1985就开始发行歌曲,1985发行了5首歌曲,算算是23岁左右就发歌了。
2).黄金发歌曲的数量是在1991,2001,2010年,非常巧都是间隔10年左右。
3).平均每年发歌的数量是13首,但是2011年以后发歌的数量慢慢变少了,可能事业中心在电影上。
4).整个发歌曲的巅峰和点评数最多的是在1997年,我们看一下1997年刘德华出了那些歌曲
满满的80后的回忆啊!尤其是冰雨,这首歌的MTV我至今还印象深刻!
3).人气歌曲
-
看一看刘德华目前700多首歌曲里面人气最好的歌曲是"世界第一等","一起走过的日子"
-
从发行的时间上看大部分都是在2000年以前发布的歌曲,所以经典的歌曲还是在他40岁之前创作的。
4).歌曲的语种分布
作为歌手演唱多国语言的歌曲已经非常普遍了,刘德华是香港人,他的歌曲中以粤语居多这很正常,不过个人感觉他在国语方面还是下过一些功夫的:
-
很多歌曲都有国粤两个版本,国语歌曲数量占总数的45.62%,仅次于粤语歌曲的52.12%。
-
除了国语粤语之外,刘德华也演唱过一些其他语种的歌曲,但是体量非常小,全部加起来 也不足总数的3%。
5).唱片公司
分析完歌曲后一起来看下周边数据,先来看下唱片公司:
-
刘德华是东亚唱片制作公司旗下艺人,所以很正常他的76.78%的歌曲都出自这家公司,而东亚唱片作为香港本地大型唱片公司之一也确实很有实力,旗下有许 志安、任贤齐、杨千嬅、郑秀文等众多香港乐坛红星。
-
再来看下环球唱片,相比东亚唱片而言,环球唱片更加牛气,号称是全世界最大的唱片公司,出品刘德华歌曲数量排名第二也就没有什么好奇怪了。
这篇文章涉及爬虫和数据分析的技巧,数据可视化混合了Tableau和Pyecharts,但是Tableau真的是太方便了,有兴趣的同学可以动手试试,需要歌曲数据集的小伙伴可以获取:
链接: https://pan.baidu.com/s/1-wyChA6qEezoAnD9NMxexA
提取码: wm6e