2019年5月, Tones and I发行了她的第二张单曲《Dance Monkey》,这首歌一直在世界各地流行,你肯定曾经随着这首歌的节奏摇摆过!

我第一次知道这首歌是在某节课上,我朋友一直唱着它。一开始,笔者感觉他好像一遍又一遍地重复同样的歌词:“dance for me, dance for me, dancefor me”。听了原曲后,我注意到它确实有一些重复的歌词。笔者接着听了她的另一首热门歌曲《Never Seen The Rain》,也发现了类似的模式。

笔者决定以这个小项目为基础,探究艺术家在选择歌词措辞时有自己的风格。

我将使用基本的python技能来分析Tones and I的两首热门歌曲:《Dance Monkey》和《Never Seen The Rain》,查看它们之间是否存在任何相似之处,以及她如何通过歌词的重复创建自己的音乐风格,比如使用语音单词(例如“oh”和“ah”)等。

1. 收集和清理数据

笔者从Metro Lyrics获得了这两首歌的歌词并对其进行了编辑,确保歌词之间没有逗号或多余的空格,还将诸如“You’ve”改为“You have”以保持一致性。之后,笔者将其作为字符串上传到JupyterNotebook上,并为其分配了一个变量(dm&nstr)。

dm.lower()函数更改了单词以确保它们全部为小写。如果不这样做,程序会认为“You”与“you”有所区别,认为它们是不同的词。打印后,结果将如下所示:

由于目的之一是找出歌词中总共有多少个单词,所以当所有单词都在一个字符串中时,就无法做到这一点。为了分隔它们,笔者使用了以下代码:

我对Never Seen The Rain的歌词也进行了同样的处理。

2. 分类数据

下一步是计算单词和唯一单词的总数。为了计算单词总数,笔者在初始变量上使用了LEN()函数:

总共453个单词。然后,为了计算用于创作歌曲的单个词的数量,笔者在split_dm变量上使用了SET()函数。

此函数确保列出至少使用一次的单词,因此结果如下所示:

为了计算新列表中的单词数,笔者使用了LEN()函数:

总共有72个唯一单词,指的是是只有这些单词才被用于这首歌的创作。

3. 最常用的词

在要使用的单词中,笔者想确定前10个单词(重复最多的单词)以及仅使用一次的单词。下面使用的代码显示了每个单词及其用法计数:

为了更易于阅读,笔者使用以下代码将单词和值绑定在一起:

然后,使用此代码检索前10个最常用的单词:

合并后的数据如下所示:

笔者可以肯定地说,“Tones and I”的独特风格(在她的所有歌曲中都绝对可以听到)就是在歌曲中使用“oh”和“ay”之类的原声单词,这两个词的数量在她的两首歌曲中均排在前10位。

4. 只使用了一次的单词

图源:unsplash

使用类似于上面的代码,笔者还发现只使用了一次的单词:

只有23个只使用了一次的单词。另一首歌曲也运用了相同的函数。

5. 重复字数

下一个目标是找出不止被重复一次的单词数:

这首歌里重复了49个单词。为了找到重复的次数,笔者使用了以下代码:

这49个单词共被重复了430次!同样,在另一首歌里也执行相同的代码。

6. 可视化

笔者将两首歌曲中的数据合并到excel的表格中,然后在笔记本上读取。

比较数据的最有效方法是使用条形图:

查看图表,我们可以得出以下结论:

  • 两首歌曲在歌词中使用一次的单词和重复一次以上的单词数量相对一致,尽管“Dance Monkey”中的单词数略微多一些。
  • 尽管如此,“Dance Monkey”中重复单词的次数要比“Never Seen The Rain”的重复次数高得多。
  • 在构成歌词的单词中,只有不到一半的单词仅使用过一次。

7. 最后的想法

在进一步处理数据时,笔者发现一个非常有趣的现象,即标题中的两个单词是如何频繁使用的:“Dance”使用了19次,而“Monkey”在整首歌曲中仅使用了一次。如果大家对Python感兴趣的话,可以加一下我的微信哦:abb436574,免费领取一套学习资料和视频课程哟~

令人惊讶的是,用于创作歌词的单个单词的数量非常少(大约占15%-20%),其中约85%的单个词被重复使用以组成歌曲。

如何用Python探究你喜爱的歌手?大数据还是很厉害的相关推荐

  1. 2018年全国高校教师“Python编程、应用及华为大数据”培训班

    关于举办2018年全国中高等院校教师 "Python编程.应用及华为大数据"培训班通知 全国各中高等院校计算机.软件等相关院(系): Python是一门免费.开源的跨平台高级动态编 ...

  2. 2018年全国中高等院校教师“Python编程、应用及华为大数据” 、“网络空间安全”、“区块链”培训班...

    关于举办2018年全国中高等院校教师"Python编程.应用及华为大数据" ."网络空间安全"."区块链"培训班通知 全国各中高等院校计算机 ...

  3. 【源码开发分享】计算机毕业设计之Python+Spark+Scrapy新闻推荐系统 新闻大数据 新闻情感分析 新闻文本分类 新闻数据分析 新闻爬虫可视化 大数据毕业设计

    开发技术 Hadoop.Spark.SparkSQL.Python.Scrapy爬虫框架.MySQL.协同过滤算法(双算法,基于用户.基于物品全实现).阿里云短信.百度AI人工智能识别.支付宝沙箱支付 ...

  4. 如何用更好的数据管理去挖掘大数据的商业价值

    大数据火爆的年代,大数据在我们的经济社会中肆虐蔓延,发挥着自己独有的影响和威力.没办法,谁叫这个互联网时代的蓬勃发展让大数据的商业价值一直在持续扩大.增长,谁能更快更准确更全面地掌握大数据的商业价值, ...

  5. 视频教程-Python科学计算与图形渲染库-大数据

    Python科学计算与图形渲染库 东北大学计算机专业硕士研究生,欧瑞科技创始人&CEO,曾任国内著名软件公司项目经理,畅销书作者,企业IT内训讲师,CSDN学院专家讲师,制作视频课程超过100 ...

  6. 如何用 Python 和 API 收集与分析网络数据?

    摘自 https://www.jianshu.com/p/d52020f0c247 本文以一款阿里云市场历史天气查询产品为例,为你逐步介绍如何用 Python 调用 API 收集.分析与可视化数据.希 ...

  7. 可以单独打开anaconda中的python莫?_Python入门必备,大数据,人工智能编程必备软件-Anaconda...

    如果说通用的编程神器是微软的VS Code,那么Python编程必备神器是Anaconda 适用人群:Python编程入门新手,大数据分析工作者,人工智能工作者,创投,金融分析师等 适用平台:Wind ...

  8. 还被python收智商税?做大数据的朋友告诉我月薪2w的方法

    还被python收智商税?我有一在阿里和腾讯都做过大数据的朋友,告诉我月薪2w的方法. 不学python,你就是落后了:不学python,你就要被淘汰了:不学python,你就...,这简直太多了,搞 ...

  9. python可以做什么工作-济南大数据可以做哪些岗位

    金融 a.大数据项目经理15-25K,5-10年 项目管理.系统架构 职位说明 (1)负责大数据产品的规划.宣传和产品推广. (2)负责业务文档的编写.业务原型的开发,从业务角度确认产品的正确性. ( ...

最新文章

  1. 【BZOJ-2669】局部极小值 状压DP + 容斥原理
  2. Win7系统下Vmware虚拟机无法使用USB设备问题的解决方法
  3. realmeq参数配置详情_小米11什么时候发布 小米11参数配置详情
  4. 网络流24题——魔术球问题(有向无环图最小路径覆盖)
  5. php mssql扩展SQL查询中文字段名解决方法
  6. Power oj2498/DP/递推
  7. hbase 预写日志_HDInsight HBase 加速写入现已正式发布
  8. JavaScript(二)基本概念
  9. 李晨 | 无人机市场浅析
  10. 四巨头键盘钢琴音源完整版-Spectrasonics Keyscape v1.1.3C WiN-MAC
  11. 【转自人人】本科生如何发表论文
  12. “AI四小龙”神话破灭?依图终止IPO,云从大裁员,旷视巨亏不止
  13. nginx的配置优化
  14. cdr宏教程_cdr软件怎么使用宏批量导出文件?
  15. pannel加载form
  16. 亚马逊账号关联申诉管用吗?账号能要回来吗
  17. 【Matlab】帮助文档打不开
  18. shell的logo含义_45个富有深意的巧妙logo设计
  19. android aoa usb,建立通过USB连接线使用AOA protocal两款Android设备
  20. MAL-Gold Nanoparticle/Au nanoparticles纳米金颗粒/金纳米粒子|50nm浓度:0.5mg/ml

热门文章

  1. 字节跳动想取消大下周,遭到部分员工激烈反对
  2. 2020年中国便利店发展报告
  3. java变量命名规则_变量的概念和声明
  4. 作者:吴甘沙,男,现任英特尔中国研究院院长。
  5. 作者:赵衎衎,男,中国人民大学信息学院博士生,CCF学生会员。
  6. 【操作系统】连续内存分配策略
  7. 【软件工程】IS的三级管理
  8. 【计算机科学基础】计算机不需要整数减法器的原因
  9. 铺设道路(洛谷P5019题题解,Java语言描述)
  10. 统计范围内不含‘7‘的数字个数(洛谷P1590题题解,Java语言描述)