大家好,今天我们用python分析下周杰伦歌曲。为了尽量完整地呈现从原始数据到可视化的过程,接下来我们会先简单讲解数据的预处理过程,即如何将 JSON 数据转化为Excel 格式,以及如何对周杰伦的歌曲进行分词。

本案例中的歌词数据来自中文歌词数据库,这个数据库提供了华语歌手的歌曲及歌词信息,数据以 JSON 格式存储。

数据预处理指的是将原始数据处理成我们希望的格式,并提取出我们需要的信息。

在本案例中,我们需要先从数据库中筛选出演唱者为周杰伦的歌曲,然后获得这些歌曲的歌词,并将它们存储到纯文本文档(.txt 格式)中,以下提供两种方法。

第一种方法,先把 JSON 文件转换为 Excel 可以打开的 .csv 文件或 .xlsx 文件格式。这可以借助一些在线的转换工具完成(如 JSON to CSV Converter)。一般而言,只需将文件拖入这些工具,选择好转换格式类型,即可转换完成。接着,我们便可以在 Excel 中打开该数据,然后单击“数据→筛选”命令,选择歌手为“周杰伦”的歌曲。之后,选中它们的歌词,并将其粘贴到纯文本文档中。

第二种方法,通过 Python 进行数据预处理。首先,需要引入 JSON 库(未安装者通过 pip install json 安装)。

import json

然后,读取我们下载的 JSON 文件,存储在名为 data 的变量中。

with open(‘ lyrics.json’ , ‘ r’ ) as f:
data = json.load(f)

接着,遍历 data 中的每一项,找出“歌手”=“周杰伦”的数据项,存到data_zjl 中。

data_zjl = [item for item in data if item[‘ singer’ ]==’ 周杰伦’ ]
print(len(data_zjl))

建立一个空列表 zjl_lyrics,用于存储歌词。遍历 data_zjl 中的每一首歌,将它们的歌词存到 zjl_lyrics 中。

Zjl_lyrics = []
for song in data_zjl:
zjl_lyrics = zjl_lyrics + song[‘ lyric’ ]

最后将 zjl_lyrics 写入一个新的 .txt 文件。

with open(“ zjl_lyrics.txt” , “ w” ) as outfifile:
outfifile.write(“ \n” .join(zjl_lyrics))

通过这几行代码,我们就获得了周杰伦所有歌曲的歌词数据(见图1)。以这个 .txt 文件为基础,我们便可以进行词频统计了。

以下附上一种在 Python 中分词的方法。首先引入 jieba 库(安装 :pip install jieba)、pandas 库(安装 :pip install pandas)、用于频次统计的 Counter 库,以及表单工具,代码如下:

import jieba
import jieba.analyse
import pandas as pd
from collections import Counter

事先准备好一个中文的停用词表(.txt 文件,里面包含一些常见的、需要过滤的中文标点和虚词,可在网上下载),代码如下:

with open(‘ chinese_stop_words.txt’ ) as f:
stopwords = [line.strip() for line in f.readlines()]

打开歌词文件,利用 jieba 库进行分词。分词之后,删除停用词、去除无用的符号等。用 Counter 库对清洗干净的词语进行频次统计。然后将统计结果用 pandas库转换为数据表单,存储为 Excel 文件,代码如下:

fifile = open(“ zjl_lyrics.txt” ).read()
words = jieba.lcut(fifile, cut_all=False, use_paddle=True)
words = [w for w in words if w not in stopwords]
words = [w.strip() for w in words]
words = [w for w in words if w != ‘ ’ ]
words_fifilter = [w for w in words if len(w) > 1]
df = pd.DataFrame.from_dict(Counter(words_fifilter), orient=’ index’ ).
reset_index()
df = df.rename(columns={‘ index’ :’ words’ , 0:’ count’ })
df.to_excel(“ 周杰伦分词结果 .xlsx” )

由此,如下表所示,我们便获得了分词后的单词及词频。使用这个文档,我们就可以开始制作可视化了。

由于是文本类数据,我们首先想到的可视化形式可能是文字云。如果你使用 Python,则可以直接基于刚才的分析结果,调用wordcloud库绘制文字云,代码如下:

from wordcloud import WordCloud
# 注 :这里需要引入一个中文字体,否则会乱码
wc = WordCloud(font_path = ‘ Alibaba-PuHuiTi-Regular.ttf’ ,
background_color=” white” ,
max_words = 2000)
wc.generate(‘ ‘ .join(words_fifilter))
import matplotlib.pyplot as plt
plt.imshow(wc)
plt.fifigure(fifigsize=(12,10), dpi = 300)
plt.axis(“ off” )
plt.show()

绘制结果如图所示:

不过,在代码工具内绘制文字云,进行定制化设计相对比较复杂。因此,也可以借助一些在线工具帮助我们实现更好的可视化效果。下面,我们以微词云为例进行演示。

进入微词云界面后,首先单击“导入单词”,进行数据导入。选择“从 Excel 中导入关键词”,然后上传我们刚才得到的包含单词和词频的 Excel 文档(需要注意的是,微词云目前对上传的 Excel 文件格式有一定要求,比如,列名必须叫“单词”和“词频”才能识别,详见其页面指引),即可生成文字云。

可以看到,微词云的页面上还有另外两种导入数据的选项。其中,“简单导入”支持用户输入用逗号隔开的单词。“分词筛词后导入”则支持用户粘贴长文本,然后由系统自动进行分词和词性判别。换句话说,如果你有一个文档文件,也可以直接粘贴进微词云进行分词。

接下来我们用周杰伦的歌词文档来尝试一下。选择“分词筛词后导入”,然后将之前的 .txt 格式的文档粘贴进微词云。之后,单击“开始分词”,软件就会自动把词语切割出来,并按词性归类,结果如下图所示。

可以看到,所有的词语被按照动词、名词、形容词、人名等归类。词语后面的括号标注了词频。同时,微词云还自动帮我们把高频的词汇勾选出来。我们也可以根据个人需求,在这个界面中进一步编辑,例如只显示名词、只显示动词等,然后单击“确定使用所选单词”按钮,即可生成词云。

之后,我们可以在“配置”栏中编辑词云的显示方式。其中,“计算模式”指的是字体的大小是否严格与词频匹配,因此我们选择“严格比例”。另外,我们还可以更改文字的颜色,以及文字云中单词的数量等。在本案例中,我们把单词数量调整到 200。调整完毕后,单击右上角的“下载到本地”按钮即可。

当然,虽然词云在视觉上比较有趣,但在展示数据上却不一定清晰。因此,我们也可以使用其他的图表来进行可视化。比如,可以用圆面积来展示最高频的词汇。

以上,我们讲解了使用 Python 分词和使用在线工具分词的两种方法,大家可以根据本案例进行学习。

接着,我们便可以在 Excel 中打开该数据,然后单击“数据→筛选”命令,选择歌手为“周杰伦”的歌曲。选择“从 Excel 中导入关键词”,然后上传我们刚才得到的包含单词和词频的 Excel 文档(需要注意的是,微词云目前对上传的 Excel 文件格式有一定要求,比如,列名必须叫“单词”和“词频”才能识别,详见其页面指引),即可生成文字云。在本案例中,我们需要先从数据库中筛选出演唱者为周杰伦的歌曲,然后获得这些歌曲的歌词,并将它们存储到纯文本文档(.txt 格式)中,以下提供两种方法。
软件开发设计:应用软件开发、系统软件开发、移动应用开发、网站开发C++、Java、 python 、web、C#等语言的项目开发与学习资料 硬件与设备:单片机、EDA、proteus、RTOS、包括计算机硬件、服务器、网络设备、存储设备、移动设备等 操作系统:LInux、树莓派、安卓开发、微机操作系统、网络操作系统、分布式操作系统等。此外,还有嵌入式操作系统、智能操作系统等。 网络与通信:数据传输、信号处理、网络协议、网络与通信硬件、网络安全网络与通信是一个非常广泛的领域,它涉及到计算机科学、电子工程、数学等多个学科的知识。 云计算与大数据:包括云计算平台、大数据 分析 、人工智能、机器学习等,云计算是一种基于互联网的计算方式,通过这种方式,共享的软硬件 资源 信息 可以按需提供给计算机和其他设备。
Python 机器学习与数据 分析 全文共5页,当前为第1页。 Python 机器学习与数据 分析 全文共5页,当前为第1页。 Python 机器学习与数据 分析 Python 机器学习与数据 分析 全文共5页,当前为第1页。 Python 机器学习与数据 分析 全文共5页,当前为第1页。 Python 机器学习与数据 分析 的发展历程与现状 随着 信息 技术和互联网的快速发展,大量的数据被累积,并且呈指数级增长。对于这些数据的处理和 分析 已经成为了一个全新的领域——数据科学。数据科学已经成为了在IT产业中增长最快的领域之一。随着对数据的需求和处理能力的提升,机器学习和人工智能也开始迅速发展起来。 Python 机器学习与数据 分析 作为现代机器学习算法的先锋之一,一方面为解决数据 分析 中的问题提供了更强大和全面的工具,另一方面使得机器学习模型的开发更为简单和容易。 Python 是一种诸多优点和应用广泛的编程语言,而且具备与其他编程语言相比较不可媲美的优势—— Python 是一种开源语言,拥有大量的库和工具,其社区庞大,对 Python 的机器学习和数据 分析 的开发提供了极大的支持和帮助。其丰富的库和工具包括:NumPy(处理数值数据的工具)、P
基于 python 的电商产品评论数据情感 分析 源码+项目说明(课程大作业).zip 【 资源 说明】 该项目是个人毕设项目源码,评审分达到95分,都经过严格调试,确保可以运行!放心下载 使用 。 该项目 资源 主要针对计算机、自动化等相关专业的学生或从业者下载 使用 ,也可作为期末课程设计、课程大作业、毕业设计等。 具有较高的学习借鉴价值!基础能力强的可以在此基础上修改调整,以实现类似其他功能。 ## 运行: `streamlit run ./Comment_analysis/Streamlit/streamlitEXP.py` 分工:<br> ## 必须考虑的点: 挑选合适的商品(好差评都多,并且评论多) GitHub class 参数(类型啥的,命名方式) 统一规范(代码格式,数据库,完善注释,log) 结合到谁的电脑上谁演示,何种形式ppt/代码 文件夹框架 数据测试集训练集划分 不同的产品(不同特点的卖点,特有的关键词),不同品牌的产品(用来比较售后服务优劣等卖点) 评论分数和评论内容的不吻合问题 评论的具体关键词(外形外观等) 开发文档开发文档: 明确产品功能 分析 某一功能点的流程 整合各个功能点--明确分工 流程图(可以单独作为一份文件可以作为附件附在文档中) 情感分数(情感倾向 分析 ,结合score) 装饰器(计时、log)@注解 可视化 结果,图形化界面(见4) config decorator ## 可以考虑的点: 同一个热水器的评论内容随时间变化 算法优化与提升(比如用不同的包,还可以用多种方法来处理, 进行 比较 分析 ) 判断优劣coherence/主观判断/通过 数据可视化 来大致判断,参数优化(主题数/) 找到一个网站据说可以 wordcloud 可视化 词云 bert情感分类 ## 扩展提升的点: texthero 可视化 pyLDAvis 可视化 ,通过网页来展示 streamlit+heroku 不用snownlp 机器学习/深度学习 注释掉的代码最后删掉,或者说写明什么时候开启调用
引 言 ACG为英文Animation Comic Game的缩写,是动画、漫画、游戏的总称。ACG 音乐 并不是一种特定的 音乐 类别,而是一种基于 音乐 出处所在的分类类别,我们可以把ACG 音乐 理解为动画、游戏及衍生的舞台剧、广播剧中,所 使用 音乐 曲目,更广泛的角度上说,任何与这三者相关的 音乐 都可以归属于其中。 动漫作品的魅力除了剧情作画外,在很大程度上依靠 音乐 支撑,让动漫作品的节奏和视听上升到艺术的高度,成就了诸如宫崎骏系列作品等里程碑。对比业界内各国发展,日本整个ACG 音乐 领域可以说已经完成工业化,但是国
[01:57.70][00:39.77]有没有口罩一个给我 [02:03.38][00:45.53]释怀说了太多就成真不了 [02:10.30][00:52.43]也许时间是一种解药 [02:1 本文档旨在详细介绍基于 Python 的电影数据 分析 系统的设计和功能。该系统旨在帮助用户通过 分析 电影数据来了解电影产业的趋势和市场需求,以便做出更明智的决策。 2. 系统概述 该系统主要由以下几个模块组成: - 数据采集模块:负责从不同的数据源(如IMDB、豆瓣电影等)采集电影数据,并存储在本地数据库中。 - 数据清洗和处理模块:对采集到的电影数据 进行 清洗和处理,包括去除重复数据、填补缺失值等。 - 数据 分析 模块: 使用 各种统计和机器学习算法对电影数据 进行 分析 ,包括电影票房预测、观众评分预测、电影类型 分析 等。 - 可视化 模块:将 分析 结果以图表和 可视化 形式展示,方便用户更直观地理解和 分析 数据。 - 用户界面模块:为用户提供一个友好的图形界面,使其能够方便地 使用 系统的功能,并 进行 自定义查询和 分析 。 3. 功能需求 系统应具备以下功能: - 数据采集:支持从各种数据源采集电影数据,如电影名称、上映时间、票房、评分等。 - 数据清洗和处理:提供数据清洗和处理功能,确保数据的准确性和完整性。 - 数据 分析 :支持各种电影数据的 分析 和预测功能,如票房预测、观众评分预测等。 - 可视化 展示:将 分析 结果以图表和 可视化 形式展示,便于用户理解和 分析 数据。 - 用户界面:提供一个友好的图形界面,用户可以方便地 使用 系统功能,并 进行 查询和 分析 。 4. 性能需求 为了保证系统的性能和响应速度,需要具备以下性能需求: - 数据采集速度快:系统应能够快速从不同的数据源采集数据,以便用户能够及时获取最新的电影 信息 。 - 数据处理效率高:系统应具备高效的数据清洗和处理算法,能够迅速处理大规模的电影数据。 - 数据 分析 速度快:系统应支持快速的数据 分析 和预测功能,以便用户能够快速获得结果。 - 用户界面交互流畅:系统应具备良好的界面设计和用户体验,保证用户能够流畅地 使用 系统。 5. 非功能需求 系统还应满足以下非功能需求: - 可扩展性:系统应具备良好的可扩展性,能够方便地添加新的数据源和功能模块。 - 安全性:系统应具备良好的安全性,保护用户数据不受未授权访问和篡改。 - 可靠性:系统应具备良好的可靠性,能够在各种情况下正常运行,并及时处理异常情况。 - 易用性:系统应具备良好的易用性,用户界面简洁明了,操作方便。 6. 结论 基于 Python 的电影数据 分析 系统能够帮助用户深入了解电影产业的趋势和市场需求。本文档详细介绍了系统的设计和功能,并描述了系统的功能和性能需求。通过该系统,用户可以方便地 进行 电影数据的采集、清洗、 分析 可视化 展示,以便做出更明智的决策。