当前位置: 首页 > news >正文

数据分析案例-2024 年热门动漫数据集可视化分析

 

🤵‍♂️ 个人主页:@艾派森的个人主页

✍🏻作者简介:Python学习者
🐋 希望大家多多支持,我们一起进步!😄
如果文章对你有帮助的话,
欢迎评论 💬点赞👍🏻 收藏 📂加关注+


目录

1.项目背景

2.数据集介绍

3.技术工具

4.导入数据

5.数据可视化

源代码


1.项目背景

        近年来,随着互联网的飞速发展和数字技术的不断创新,动漫作为一种独特的文化形式,在全球范围内获得了空前的关注度和影响力。动漫不仅成为了年轻一代娱乐生活的重要组成部分,还逐渐渗透到教育、广告、游戏等多个领域,形成了一个庞大的产业链。

        特别是在2024年,随着5G、AI、大数据等新一代信息技术的深入应用,动漫产业的数字化、智能化水平得到了显著提升。动漫作品的创作、传播和消费方式都发生了深刻变化,为动漫产业的进一步发展提供了广阔的空间和可能。

        然而,与此同时,动漫市场的竞争也日益激烈,各类动漫作品层出不穷,观众对于动漫作品的需求也日益多样化和个性化。在这样的背景下,如何准确把握动漫市场的脉搏,了解观众的需求和喜好,成为了动漫产业发展的重要课题。

        因此,本研究旨在通过对2024年热门动漫数据集的可视化分析,深入探究动漫市场的发展趋势和规律,为动漫产业的决策者提供有价值的参考和启示。

2.数据集介绍

        本数据集来源于Kaggle,原始数据集共有1000条,22个变量。该数据集全面概述了 2024 年热门动漫,对于构建推荐系统、可视化动漫流行度和评分趋势、预测评分和流行度等非常有用。

该数据集包含 22 个特征:

Score:分配给每个动漫标题的评级或分数。

Popularity:衡量每部动漫在观众中的受欢迎程度。

Rank:数据集中每个动漫标题的排名。

Members:与每部动漫相关的会员或观众数量。

Description:每部动漫的情节和主题的简要概述或摘要。

Synonyms:每部动漫使用的替代标题或同义词。

Japanese:日语动画的原始标题。

English:动画的英文翻译标题。

Type:动漫类型的分类(例如电视剧、电影、OVA 等)。

Episodes:每个动漫系列的总集数。

Status:动画的当前状态(例如,正在进行、已完成等)。

Aired:动画播出的日期范围。

Premiered:动画首次首播的日期。

Broadcast:有关广播平台或频道的信息。

Producers:参与制作动画的公司或工作室。

Licensors:拥有动漫许可权的组织或公司。

Studios:负责制作动画的动画工作室。

Source:动漫的原始来源材料(例如漫画、小说、原创)。

Genres:动漫所属的类别或流派。

Demographic:动漫的目标受众群体。

Duration:每集或电影的持续时间。

Rating:分配给每个动漫的内容评级(例如,G、PG、PG-13、R)。

3.技术工具

Python版本:3.9

代码编辑器:jupyter notebook

4.导入数据

首先导入数据可视化的库,并加载数据集

查看数据集大小 

查看数据基本信息

查看数值型变量的描述性统计

查看非数值型变量的描述性统计

5.数据可视化

源代码

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import warnings
warnings.filterwarnings('ignore')anime_data = pd.read_csv("Top_Anime_data.csv")
anime_data.head()
anime_data.shape
anime_data.info()
anime_data.describe()
anime_data.describe(include='O').T
# 分数分布
plt.figure(figsize=(10, 6))
sns.histplot(anime_data['Score'], bins=30, kde=True, color='skyblue')
plt.title('Distribution of Scores')
plt.xlabel('Score')
plt.ylabel('Frequency')
plt.show()
# 受欢迎程度分布
plt.figure(figsize=(10, 6))
sns.histplot(anime_data['Popularity'], bins=30, kde=True, color='orange')
plt.title('Popularity Distribution')
plt.xlabel('Popularity')
plt.ylabel('Frequency')
plt.show()
# 类型分布
genres = anime_data['Genres'].str.split(',').explode().str.strip()
plt.figure(figsize=(12, 8))
sns.countplot(y=genres, order=genres.value_counts().index[:15], palette='muted')
plt.title('Top 15 Genres Distribution')
plt.xlabel('Count')
plt.ylabel('Genre')
plt.show()
# 分数与人气的散点图
plt.figure(figsize=(10, 6))
sns.scatterplot(x='Score', y='Popularity', data=anime_data, alpha=0.7)
plt.title('Score vs. Popularity')
plt.xlabel('Score')
plt.ylabel('Popularity')
plt.show()
# 排名前十的生产商
top_producers = anime_data['Producers'].str.split(',').explode().value_counts().head(10)
plt.figure(figsize=(10, 6))
sns.barplot(x=top_producers.values, y=top_producers.index, palette='husl')
plt.title('Top 10 Producers by Count')
plt.xlabel('Count')
plt.ylabel('Producer')
plt.show()
# 动漫人口分布
anime_data["Demographic"].value_counts().plot.pie(figsize=(10,5))
plt.title("Distribution of Anime Demographic", loc='center',color='red', fontsize=10, fontweight='bold')
plt.show()
labels=['Teens 13 or older', 'violence & profanity', 'Mild Nudity', 'All Ages', 'Children']
colors=['Pink','Yellow','Orange','Blue','Red']
plt.pie(anime_data["Rating"].value_counts(), labels=labels, colors=colors)
plt.axis('equal')
plt.title("Rating", loc='center', color='Blue', fontsize='15')
plt.gca().add_artist(plt.Circle(xy=(0,0),radius=0.75, facecolor='white'))
plt.show()
# 分数类别与来源的标准化交叉拟合
bins = [7.8, 7.9, 8.1, 8.3,9.4]
labels = ['7.8 to 7.9', '7.9 to 8.1','8.1 to 8.3','8.3 to 9.4']
anime_data['Score_Category'] = pd.cut(anime_data['Score'], bins=bins, labels=labels, right=False)
normalised_df = (pd.crosstab(anime_data["Score_Category"],anime_data["Source"],normalize="index")*100).round(2)
normalised_df.plot(kind="bar",stacked=True)
plt.xlabel('Score Category')
plt.ylabel('Percentage')
plt.title('Normalized Crosstabulation of Score Category and Source')
plt.legend(title='Source', bbox_to_anchor=(1.05, 1), loc='upper left')
plt.tight_layout()
plt.show()
# 收视人数与收视率的标准化交叉校正
bins = [1.0, 500.0, 1000.0]
labels = ['1 to 500', '500 to 1000']
anime_data['Members_category'] = pd.cut(anime_data['Members'], bins=bins, labels=labels, right=False)
(pd.crosstab(anime_data["Members_category"],anime_data["Rating"],normalize="index")*100).round(2).plot(kind="bar",stacked=True)
plt.title('Normalized Crosstabulation of Number of Viewers and Rating')
plt.legend(title='Rating', bbox_to_anchor=(1.05, 1), loc='upper left')
plt.tight_layout()
plt.show()
# 5大制作公司
anime_data["Studios"].value_counts().head(5).plot(kind="pie",autopct='%1.1f%%')
plt.title("Top 5 Production Houses")
plt.ylabel('')
plt.show()
# 疯人院制作的顶级动画
anime_data[anime_data["Studios"] == "Madhouse"]["Rating"].value_counts().plot(kind="pie",autopct='%1.1f%%')
plt.title("Top Anime produced by Madhouse")
plt.show()

资料获取,更多粉丝福利,关注下方公众号获取

在这里插入图片描述

相关文章:

数据分析案例-2024 年热门动漫数据集可视化分析

🤵‍♂️ 个人主页:艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞&#x1f4…...

C#小结:未能找到类型或命名空间名“xxx”(是否缺少 using 指令或程序集引用?)

方案一:移除类库这些失效的引用,下载对应版本的dll(如有则不需要重复下载),重新添加引用 方案二:类库右键属性-调整目标框架版本(一般是降低版本) 方案三:调整类库编译顺…...

STM32智能无人机控制系统教程

目录 引言环境准备智能无人机控制系统基础代码实现:实现智能无人机控制系统 4.1 数据采集模块 4.2 数据处理与控制算法 4.3 通信与网络系统实现 4.4 用户界面与数据可视化应用场景:无人机管理与优化问题解决方案与优化收尾与总结 1. 引言 智能无人机控…...

从 QWebEnginePage 打印文档

QWebEnginePage 是 Qt WebEngine 模块中的一个类,它提供了用于处理网页内容的接口。如果你想要打印 QWebEnginePage 中的内容,你可以使用 QPrinter 和 QPrintDialog 类来实现。 项目配置了 Qt WebEngine 模块,并且在你的.pro文件中包含了相应…...

初识Docker及管理Docker

Docker部署 初识DockerDocker是什么Docker的核心概念镜像容器仓库 容器优点容器在内核中支持2种重要技术:Docker容器与虚拟机的区别 安装Docker源码安装yum安装检查Docker Docker 镜像操作配置镜像加速器(阿里系)搜索镜像获取镜像查看镜像信息…...

【学术会议征稿】2024年第三届信息学,网络与计算技术国际学术会议(ICINC2024)

2024年第三届信息学,网络与计算技术国际学术会议(ICINC2024) 2024 3rd International Conference on Informatics,Networking and Computing (ICINC 2024) 2024年第三届信息学,网络与计算技术国际学术会议(ICINC2024)将于2024年10月25-27日于中国郑州召…...

在golang中Sprintf和Printf 的区别

最近一直在学习golang这个编程语言,我们这里做一个笔记就是 Sprintf和Printf 的区别 fmt.Sprintf 根据格式化参数生成格式化的字符串并返回该字符串。 fmt.Printf 根据格式化参数生成格式化的字符串并写入标准输出。由上面就可以知道,fmt.Sprintf返回的…...

策略模式原理与C++实现

定义 定义一些列算法,把他们一个个封装起来,并且使他们可以相互替换(变化)。该模式使得算法可独立于使用它的客户程序(稳定)而变化(扩展、子类化)。 C实现 在不考虑策略模式的情况…...

打包一个自己的Vivado IP核

写在前面 模块复用是逻辑设计人员必须掌握的一个基本功,通过将成熟模块打包成IP核,可实现重复利用,避免重复造轮子,大幅提高我们的开发效率。 接下来将之前设计的串口接收模块和串口发送模块打包成IP核,再分别调用…...

《昇思25天学习打卡营第05天|qingyun201003》

日期 心得 通过本节课的学习,学习到了通过网络获取数据集,处理数据集模型。数据模型层数据变换,模型参数解析和其对应代码中的API进行解析。 昇思MindSpore 基础入门学习 网络构建 (AI 代码解析) 网络构建 神经网络模型是由神经网络层和T…...

【Leetcode】二十一、前缀树 + 词典中最长的单词

文章目录 1、背景2、前缀树Trie3、leetcode208:实现Trie4、leetcode720:词典中最长的单词 1、背景 如上,以浏览器搜索时的自动匹配为例: 如果把所有搜索关键字放一个数组里,则:插入、搜索一个词条时&#x…...

秋招Java后端开发冲刺——Mybatis使用总结

一、基本知识 1. 介绍 MyBatis 是 Apache 的一个开源项目,它封装了 JDBC,使开发者只需要关注 SQL 语句本身,而不需要再进行繁琐的 JDBC 编码。MyBatis 可以使用简单的 XML 或注解来配置和映射原生类型、接口和 Java POJO(Plain …...

怎么压缩视频文件?简单的压缩视频方法分享

视频已成为我们日常生活中不可或缺的一部分。但随着视频质量的提高,文件大小也逐渐成为我们分享的阻碍。如何有效压缩视频文件,使其既能保持清晰,又能轻松分享?今天,给大家分享五种实用的视频压缩方法,快来…...

【Oracle】Oracle语法之递归查询

目录 递归查询使用场景备注 语法相关属性解释 案例基本使用升级版-带上递归查询的属性 总结: 递归查询 Oracle的递归查询是指在一个查询语句中使用自引用的方式进行循环迭代查询。它可以用于处理具有层次结构的数据,如组织架构、产品类别等。递归查询通…...

【教程】Vue2中使用svg矢量图

1.npm导包 npm i svg-sprite-loader --save2.创建目录放入svg文件,创建SvgIcon.js 3.SvgIcon.js const req require.context(./svg, false, /\.svg$/) const requireAll requireContext > requireContext.keys().map(requireContext) requireAll(req)4.vue.c…...

简约唯美的404HTML源码

源码介绍 简约唯美的404HTML源码,很适合做网站错误页,将下面的源码放到一个空白的html里面,然后上传到服务器里面即可使用 效果预览 完整源码 <!DOCTYPE html> <html><head><meta charset="utf-8"><title>404 Error Example<…...

PDF 转图片并插入到 EXCEL 再转PDF

pom.xml 引用 <dependency><groupId>com.aspose</groupId><artifactId>aspose-cells</artifactId><version>21.11</version></dependency><dependency><groupId>com.aspose</groupId><artifactId>as…...

jmeter之变量随机参数化以及解决多线程不会随机变化

参考链接&#xff1a; https://www.cnblogs.com/Testing1105/p/12743475.html jmeter 使用random函数多线程运行时数据不会随机变化&#xff1f;_jmeter 线程组循环执行时 变量不变-CSDN博客 1、如下图所示&#xff0c;需要对请求参数 autor 和phone进行随机参数化 2、目前有…...

24/7/12总结

axios Axios 是一个基于 promise 网络请求库&#xff0c;作用于node.js 和浏览器中。 它是 isomorphic 的(即同一套代码可以运行在浏览器和node.js中)。在服务端它使用原生 node.js http 模块, 而在客户端 (浏览端) 则使用 XMLHttpRequests。 get请求: <script>function…...

sentinel网关限流配置及使用

sentinel控制台源码&#xff1a;https://download.csdn.net/download/yixin605691235/89543923 sentinel控制台jar包&#xff1a;https://download.csdn.net/download/yixin605691235/89543931 不同环境直接修改jar包中的application.yml文件中的nacos地址就可以了。 一、网关限…...

树莓派超全系列教程文档--(61)树莓派摄像头高级使用方法

树莓派摄像头高级使用方法 配置通过调谐文件来调整相机行为 使用多个摄像头安装 libcam 和 rpicam-apps依赖关系开发包 文章来源&#xff1a; http://raspberry.dns8844.cn/documentation 原文网址 配置 大多数用例自动工作&#xff0c;无需更改相机配置。但是&#xff0c;一…...

Java多线程实现之Callable接口深度解析

Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...

高等数学(下)题型笔记(八)空间解析几何与向量代数

目录 0 前言 1 向量的点乘 1.1 基本公式 1.2 例题 2 向量的叉乘 2.1 基础知识 2.2 例题 3 空间平面方程 3.1 基础知识 3.2 例题 4 空间直线方程 4.1 基础知识 4.2 例题 5 旋转曲面及其方程 5.1 基础知识 5.2 例题 6 空间曲面的法线与切平面 6.1 基础知识 6.2…...

工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配

AI3D视觉的工业赋能者 迁移科技成立于2017年&#xff0c;作为行业领先的3D工业相机及视觉系统供应商&#xff0c;累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成&#xff0c;通过稳定、易用、高回报的AI3D视觉系统&#xff0c;为汽车、新能源、金属制造等行…...

基于matlab策略迭代和值迭代法的动态规划

经典的基于策略迭代和值迭代法的动态规划matlab代码&#xff0c;实现机器人的最优运输 Dynamic-Programming-master/Environment.pdf , 104724 Dynamic-Programming-master/README.md , 506 Dynamic-Programming-master/generalizedPolicyIteration.m , 1970 Dynamic-Programm…...

STM32---外部32.768K晶振(LSE)无法起振问题

晶振是否起振主要就检查两个1、晶振与MCU是否兼容&#xff1b;2、晶振的负载电容是否匹配 目录 一、判断晶振与MCU是否兼容 二、判断负载电容是否匹配 1. 晶振负载电容&#xff08;CL&#xff09;与匹配电容&#xff08;CL1、CL2&#xff09;的关系 2. 如何选择 CL1 和 CL…...

【从零开始学习JVM | 第四篇】类加载器和双亲委派机制(高频面试题)

前言&#xff1a; 双亲委派机制对于面试这块来说非常重要&#xff0c;在实际开发中也是经常遇见需要打破双亲委派的需求&#xff0c;今天我们一起来探索一下什么是双亲委派机制&#xff0c;在此之前我们先介绍一下类的加载器。 目录 ​编辑 前言&#xff1a; 类加载器 1. …...

Linux系统部署KES

1、安装准备 1.版本说明V008R006C009B0014 V008&#xff1a;是version产品的大版本。 R006&#xff1a;是release产品特性版本。 C009&#xff1a;是通用版 B0014&#xff1a;是build开发过程中的构建版本2.硬件要求 #安全版和企业版 内存&#xff1a;1GB 以上 硬盘&#xf…...

Unity中的transform.up

2025年6月8日&#xff0c;周日下午 在Unity中&#xff0c;transform.up是Transform组件的一个属性&#xff0c;表示游戏对象在世界空间中的“上”方向&#xff08;Y轴正方向&#xff09;&#xff0c;且会随对象旋转动态变化。以下是关键点解析&#xff1a; 基本定义 transfor…...

路由基础-路由表

本篇将会向读者介绍路由的基本概念。 前言 在一个典型的数据通信网络中&#xff0c;往往存在多个不同的IP网段&#xff0c;数据在不同的IP网段之间交互是需要借助三层设备的&#xff0c;这些设备具备路由能力&#xff0c;能够实现数据的跨网段转发。 路由是数据通信网络中最基…...