使用Python将《青花瓷》歌词生成词云图

news2024/11/16 15:39:08

哈喽大家好,因为上次有小伙伴问我,歌曲的歌词和评论怎么生成词云图,想买代码…

当时我就拒绝了,直接免费送给了他。

所以今天来分享给大家

我们以周董的《青花瓷》为例,要对《青花瓷》歌词生成词云图,需要采取以下步骤:

  1. 安装所需的库

要完成该任务,需要安装 jiebawordcloud 库。可以在命令行下输入以下代码进行安装:

pip install jieba wordcloud
  1. 获取歌词数据

将周杰伦《青花瓷》歌词数据保存为文本文件,并将其读取到 Python 程序中。可以使用 Python 的文件操作等方法获得文本文件数据,例如:

with open('qhc.txt', 'r', encoding='utf-8') as f:
    lyrics = f.read()
  1. 分词

使用 jieba 库进行中文分词,将歌词文本数据分解为一个个单词,统计每个单词的词频。

import jieba

lyrics = jieba.cut(lyrics)
word_freq = {}
for word in lyrics:
    if len(word) > 1:
        word_freq[word] = word_freq.get(word, 0) + 1
  1. 生成词云

使用 wordcloud 库生成词云图并将其保存到本地。

from wordcloud import WordCloud
import matplotlib.pyplot as plt

wc = WordCloud(background_color='white', width=800, height=600)
wc.generate_from_frequencies(word_freq)
plt.imshow(wc)
plt.axis('off')
plt.show()

# 将生成的词云保存为图片文件
wc.to_file('qhc_wordcloud.png')

完整代码如下所示:

import jieba
from wordcloud import WordCloud
import matplotlib.pyplot as plt

# 读取歌词
with open('qhc.txt', 'r', encoding='utf-8') as f:
    lyrics = f.read()

# 分词并计算词频
lyrics = jieba.cut(lyrics)
word_freq = {}
for word in lyrics:
    if len(word) > 1:
        word_freq[word] = word_freq.get(word, 0) + 1

# 生成词云并展示
wc = WordCloud(background_color='white', font_path='msyh', width=800, height=600)
wc.generate_from_frequencies(word_freq)
plt.imshow(wc)
plt.axis('off')
plt.show()

# 将生成的词云保存为图片文件
wc.to_file('qhc_wordcloud.png')

运行该代码后,会生成包含《青花瓷》歌词词云图的图片并保存到本地。需要注意的是,由于分词的准确性和歌词长度等因素的影响,该词云图可能需要经过调整和优化。

效果展示

对于想学好Python的小伙伴,我还准备了

Python软件工具+数百本Python电子书+Python基础教程+Python实战教程
直接在文末名片自取







图片不能发多了,仅做展示。

好了今天的分享就到这结束了,下次见!

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

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

相关文章

[Flash][AS3]“懒惰式引用计数回收内存“导致程序崩溃(闪退)

最近在做Flash项目时候发现,Flash CS6 发布的程序在运行超过两个小时后会闪退,在仔细检查脚本代码和资源文件后,排除了这两个方面的原因。又猜测是内存或者GDI泄漏,在任务管理器中观察了一段时间,程序的GDI没有任何变化…

电脑开机总是卡到不能动怎么重装系统?

电脑开机总是卡到不能动怎么重装系统?有用户反馈自己的电脑在开机之后,总是会出现卡死的情况,无法进行任何的操作。遇到这个问题我们可以使用U盘重装系统的方法来进行电脑系统的重装,接下来我们一起来看看以下具体的操作步骤教学吧…

3.7 图像压缩

博主简介:一个爱打游戏的计算机专业学生博主主页: 夏驰和徐策所属专栏:算法设计与分析 1.什么是图像压缩? 在动态规划中,图像压缩是指通过减少图像数据的存储空间,以实现图像文件的压缩和存储优化。动态规…

chatgpt赋能python:从后往前取:Python列表的高效操作

从后往前取:Python列表的高效操作 在Python编程中,列表(List)是最常用的数据类型之一。列表可以保存任意类型的元素,比如数字、字符串、甚至是其他列表等。在这篇文章中,我们将关注Python列表中从后往前取…

【CSS3系列】第四章 · CSS3新增渐变

写在前面 Hello大家好, 我是【麟-小白】,一位软件工程专业的学生,喜好计算机知识。希望大家能够一起学习进步呀!本人是一名在读大学生,专业水平有限,如发现错误或不足之处,请多多指正&#xff0…

chatgpt赋能python:Python列表全排列

Python列表全排列 列表是Python中最常用的数据结构之一,它允许我们将多个值(数据)存储在一个变量中。在Python中,有时我们需要对列表中的元素进行全排列,也就是根据不同的顺序重新排列列表中的元素。本文将介绍如何在…

计算机网络实验:交换机的基本配置与管理

目录 前言实验目的实验内容实验过程总结 前言 本实验旨在了解交换机的基本功能和工作原理,掌握交换机的配置方法和命令,学习交换机端口的基本设置和管理,以及交换机MAC地址表的查看和维护。通过本实验,学生可以熟悉交换机的操作界…

远程面试阿里、蚂蚁、京东、美团后整理份283页Java核心面试宝典

本文整理了一些面试时面试官必问的知识点,其中包括了有基础知识、Java集合、JVM、多线程并发、spring原理、微服务、Netty 与RPC 、Kafka、日记、设计模式、Java算法、数据库、Zookeeper、分布式缓存、数据结构等等。 以下是文档涉及的主要内容: &#…

2021-06-10 51单片机,键控流水灯——中断方式

缘由https://ask.csdn.net/questions/7444779?spm1005.2025.3001.5141 #include "reg52.h" sbit K1 P1^5; sbit K2 P1^6; sbit K3 P1^7; bit kk0; void zdsz() {EAEX0IT01; } void main() {unsigned char Xd0;unsigned int ys4747,d10;zdsz();while(1){if(!ys)…

系统自学黑客/网络安全技术三要素:手快、眼快、脑子快

前言 网络安全这个行业优势有:需求量大,人才紧急,门槛低,工资高。对于许多未曾涉足IT行业「小白」来说,深入地学习网络安全是一件十分困难的事。 关于我 本人是一位90后奇安信驻场网络安全工程师。上海交通大学软件…

Ai作画区域控制的几种方法

背景 距上次发文章,又过去好久。这期分享给大家带来的是Ai作画的图结构控制几种方法。现在大家用AI作画大部分情况是直接使用AI单图生成能力,其实并不太会取考虑构图,也不太会考虑到大图的图结构这件事。其实构图这件事是一件很综合复杂的事…

javascript基础十七:bind、call、apply 区别?如何实现apply、call、bind?

一、作用 call、apply、bind作用是改变函数执行时的上下文,简而言之就是改变函数运行时的this指向 那么什么情况下需要改变this的指向呢? 举个粟子: var name 小爱同学 undefined const obj {name:allen ye,say:function(){console.log(th…

Wi-Fi演进史及关键技术

Wi-Fi演进史及关键技术 文章目录 Wi-Fi演进史及关键技术摘要第一章 Wi-Fi的发展历程1.1 Wi-Fi发展历史1.2 802.11标准的演进 第二章 近代Wi-Fi的核心技术2.1 Wi-Fi 6核心技术2.1.1 OFDMA频分复用技术2.1.2 DL/UL MU-MIMO技术2.1.3 1024QAM2.1.4 空分复用技术(SR&…

Shell脚本攻略:文本三剑客之sed

目录 一、理论 1.sed 二、实验 1.sed命令的寻址打印 2.显示奇偶 3.查找替换 4.后向引用 一、理论 1.sed (1) 概念 sed 英文全称为stream editor流式编辑器,sed 对输入流(文件或来自管道的输入)执行基本文本转换单通过流,…

服务器部署vue

1.下载及安装 打开服务器终端,在终端中输入以下命令,下载nginx安装包。 wget http://nginx.org/download/nginx-1.20.2.tar.gz其中nginx版本可以自己选择,具体版本可查看此链接:nginx news 将下载的压缩包解压,输入指…

chatgpt赋能python:Python列表升序排序:完美的排序方案

Python列表升序排序:完美的排序方案 Python是一种高级编程语言,广泛应用于各种领域,涵盖了从Web开发,数据科学到人工智能。Python强大的语法使其容易编写复杂的程序并处理大型数据集,而Python列表最常用于存储和操作数…

华为OD机试真题 Java 实现【跳房子II】【2023 B卷 100分】,附详细解题思路

一、题目描述 跳房子,也叫跳飞机,是一种世界性的儿童游戏。 游戏参与者需要分多个回合按顺序跳到第1格直到房子的最后一格,然后获得一次选房子的机会,直到所有房子都被选完,房子最多的人获胜。 跳房子的过程中&…

路径规划算法:基于平衡优化器优化的路径规划算法- 附代码

路径规划算法:基于平衡优化器优化的路径规划算法- 附代码 文章目录 路径规划算法:基于平衡优化器优化的路径规划算法- 附代码1.算法原理1.1 环境设定1.2 约束条件1.3 适应度函数 2.算法结果3.MATLAB代码4.参考文献 摘要:本文主要介绍利用智能…

MySQL数据库从入门到精通学习第8天(数据表的查询)

数据表的查询 基本查询语句单表查询聚合函数查询多表连接查询子查询合并查询结果定义表和字段的别名使用正则表达式查询 基本查询语句 SELECT 语句非常的强大,是最常用的查询语句。他具有一个固定的格式,如下: SELECT 查询的内容 FROM 数据…

markdown标注

这里写自定义目录标题 欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants 创建一个自定义列表如何创建一个…