数据分析案例-2023年TOP100国外电影数据可视化

 

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

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


目录

1.项目背景

2.数据集介绍

3.技术工具

4.导入数据

5.数据可视化

文末推荐与福利


1.项目背景

        随着全球化的深入发展,电影作为一种文化表达和艺术形式,逐渐超越了国界,成为世界各地观众共同欣赏的对象。2023年TOP100国外电影榜单的发布,正是这一发展趋势的体现。为了更好地理解这一现象,我们决定对这100部电影进行数据可视化分析,以期揭示其背后的文化、市场和艺术特征。

        近年来,电影产业的数字化和网络化带来了海量的数据资源,这为我们的研究提供了可能。通过数据挖掘和分析,我们可以了解哪些类型的电影更受欢迎,哪些地区或国家的电影在全球范围内有更大的影响力,以及观众的喜好和行为模式等。

        电影不仅仅是一种娱乐方式,它还是一个反映社会现象、传达价值观和塑造文化认同的重要工具。通过研究TOP100国外电影,我们可以深入了解不同文化背景下的故事、主题和表达方式,从而增进国际间的文化交流和理解。

        此外,电影市场的竞争也日益激烈。通过数据可视化,我们可以分析电影的票房、口碑和影响力之间的关系,为电影产业的决策者提供有价值的参考信息,以促进电影产业的健康和可持续发展。

        总之,2023年TOP100国外电影数据可视化研究旨在利用现代数据分析技术,深入挖掘电影数据的价值,理解电影作为一种全球性文化的现象,增进国际文化交流,并为电影产业的未来发展提供决策支持。

2.数据集介绍

        数据集来源与Kaggle,原始数据集为2023年国外最佳的前100部电影数据,共有如下变量:

列名描述
name电影的标题。
rating给电影的评级。
votes电影获得的票数。
runtime电影的持续时间或运行时间。
genre电影所属的流派。
description电影的简要概述或描述。

3.技术工具

Python版本:3.9

代码编辑器:jupyter notebook

4.导入数据

导入第三方库和数据

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import plotly.express as px
import warnings
warnings.filterwarnings('ignore')
sns.set_style('darkgrid')
plt.style.use('ggplot')df = pd.read_csv('moviesdataset_2023.csv')
df.head()

查看数据大小

查看数据基本信息

# 数据类型转换
df['rating'] = pd.to_numeric(df['rating'], errors='coerce')
df['votes'] = pd.to_numeric(df['votes'].str.replace(',', ''), errors='coerce')
df['runtime'] = pd.to_numeric(df['runtime'].str.replace(' min', ''), errors='coerce')

查看描述性统计

5.数据可视化

import matplotlib.pyplot as plt
import seaborn as sns
plt.figure(figsize=(10, 6))
sns.histplot(df['rating'].dropna(), bins=10, kde=True, color='skyblue')
plt.title('Distribution of Ratings')
plt.xlabel('Rating')
plt.ylabel('Frequency')
plt.show()

plt.figure(figsize=(10, 6))
sns.scatterplot(x='rating', y='votes', data=df, color='coral')
plt.title('Relationship between Rating and Votes')
plt.xlabel('Rating')
plt.ylabel('Votes')
plt.show()

genres_count = df['genre'].explode().value_counts()
plt.figure(figsize=(12, 8))
genres_count.plot(kind='bar', color='salmon')
plt.title('Movie Genres Count')
plt.xlabel('Genres')
plt.ylabel('Count')
plt.xticks(rotation=45, ha='right')
plt.show()

plt.figure(figsize=(10, 6))
sns.histplot(df['runtime'].dropna(), bins=15, kde=True, color='lightgreen')
plt.title('Distribution of Runtime')
plt.xlabel('Runtime (minutes)')
plt.ylabel('Frequency')
plt.show()

plt.figure(figsize=(12, 8))
sns.pairplot(df[['rating', 'votes', 'runtime']])
plt.suptitle('Pair Plot for Numerical Columns', y=1.02)
plt.show()

plt.figure(figsize=(14, 8))
sns.countplot(y='genre', data=df, order=df['genre'].explode().value_counts().index, palette='viridis')
plt.title('Count of Movies in Each Genre')
plt.xlabel('Count')
plt.ylabel('Genres')
plt.show()

# 相关系数热力图
plt.figure(figsize=(10, 8))
correlation_matrix = df[['rating', 'votes', 'runtime']].corr()
sns.heatmap(correlation_matrix, annot=True, cmap='coolwarm', linewidths=.5)
plt.title('Correlation Heatmap')
plt.show()

plt.figure(figsize=(14, 8))
sns.boxplot(x='runtime', y='genre', data=df, palette='Set2')
plt.title('Box Plot of Runtime Across Genres')
plt.xlabel('Runtime (minutes)')
plt.ylabel('Genres')
plt.show()

# 电影描述词云图
from wordcloud import WordCloud
# 将所有描述组合成一个字符串
all_descriptions = ' '.join(df['description'])
wordcloud = WordCloud(width=800, height=400, background_color='white').generate(all_descriptions)
plt.figure(figsize=(12, 6))
plt.imshow(wordcloud, interpolation='bilinear')
plt.axis('off')
plt.title('Word Cloud for Movie Descriptions')
plt.show()

average_rating_by_genre = df.groupby('genre')['rating'].mean().sort_values(ascending=False)
plt.figure(figsize=(14, 8))
sns.barplot(x=average_rating_by_genre.values, y=average_rating_by_genre.index, palette='coolwarm')
plt.title('Average Rating Across Genres')
plt.xlabel('Average Rating')
plt.ylabel('Genres')
plt.show()

文末推荐与福利

《Excel函数与公式应用大全》免费包邮送出3本!

内容简介:      

        本书以 Excel 2021 为蓝本,全面系统地介绍了 Excel 365 & Excel 2021 函数与公式的技术原理、应用技巧与实战案例。内容包括函数与公式基础,文本处理、查找引用、统计求和、Web 类函数、宏表函数、自定义函数、数据库函数等常用函数的应用,以及数组公式、动态数组、多维引用等。

        本书采用循序渐进的方式,由易到难地介绍各个知识点,适合各个水平的 Excel 用户,既可作为初学者的入门指南,又可作为中、高级用户的参考手册。

编辑推荐:     

经典:Excel Home团队策划,多位微软全球MVP通力打造。

升级:上一版长期雄踞Excel函数类图书销量前列,《Excel 2019函数与公式应用大全》重磅升级版。

全面:详尽而又系统地介绍了Excel函数与公式的核心技术。

实战 精选Excel Home的海量案例,零距离接触Excel专家级使用方法。

深入:对一些常常困扰学习者的功能深入揭示背后的原理,让读者知其然,还能知其所以然。

揭秘:独家讲授Excel多项绝密应用,披露Excel专家多年研究成果!

资源:提供视频教学资源及书中相关案例文件,供读者参考练习、快速上手。

  • 抽奖方式:评论区随机抽取3位小伙伴免费送出!
  • 参与方式:关注博主、点赞、收藏、评论区评论“人生苦短,拒绝内卷!”(切记要点赞+收藏,否则抽奖无效,每个人最多评论三次!
  • 活动截止时间:2024-2-23 20:00:00
  • 当当:http://product.dangdang.com/29678919.html

    京东:https://item.jd.com/14360776.html

 名单公布时间:2024-2-23 21:00:00 

 

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

在这里插入图片描述

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

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

相关文章

MATLAB环境下使用二维高分辨时频分析方法提取波状分量

MATLAB环境下使用二维高分辨时频分析方法提取波状分量(分离混合地震数据)。 为了得到更高的时频分辨率,近年来涌现出了大量的新的时频分析方法。有些以线性和非线性时频分析为基础,有些则另辟蹊径,比如Hilbert-Huang变…

高并发系统中常见的问题

在当今的高并发系统中,常见的问题是多种多样的,这些问题往往会对系统的稳定性和性能产生重大影响。本文将详细介绍高并发系统中常见的问题,并探讨其产生原因和解决方案。 一、高并发系统概述 高并发系统是指在同一时间内有大量用户同时访问…

外文文献查找的6个途径

寻找外文文献的渠道有很多,以下六个是一些常用的途径: 1、学术搜索引擎:像Google Scholar、PubMed、Web of Science、Scopus等学术搜索引擎是查找外文文献的常用工具,它们提供了广泛的学术资源和文献数据库。 2、学术数据库&…

对视频进行分块,断点续传

分块测试 //分块测试Testpublic void testChunk() throws IOException {//源路径File sourceFile new File("D:\\BaiduNetdiskDownload\\Day1-00.项目导学.mp4");//分块文件存储路径String chunkFilePath "D:\\develop\\chunk\\";//分块文件大小int chun…

解锁跨境电商新纪元:大数据驱动下的精准营销攻略

随着全球互联网的快速发展,跨境电商已经成为企业拓展国际市场的重要途径。在这个竞争激烈的环境中,如何有效地进行精准营销成为企业成功的关键之一。大数据技术的兴起为跨境电商提供了丰富的信息和洞察,为精准营销提供了坚实的基础。本文Nox聚…

【八股文】面向对象基础

【八股文】面向对象基础 面向对象和面向过程的区别 面向过程把解决问题的过程拆成一个个方法,通过一个个方法的执行解决问题。面向对象会先抽象出对象,然后用对象执行方法的方式解决问题。 创建一个对象用什么运算符?对象实体与对象引用有何不同? …

rust gui fltk

FLTK 图形用户界面库的 Rust 绑定。 fltk crate 是一个跨平台的轻量级 GUI 库,可以静态链接以生成小型、独立且快速的 GUI 应用程序。 doc https://www.rust-lang.org/zh-CN/learn/get-started https://docs.rs/fltk/latest/fltk/ install $ curl --proto http…

安达发|APS排产软件的机台产线任务甘特图功能详解

在现代制造业中,高级计划与排产是制造业运营的关键环节。为了提高生产效率、降低成本并确保产品质量,企业需要对生产过程进行精细化管理。APS(高级计划与排产)系统作为一种先进的生产计划和调度工具,可以帮助企业实现这…

过了30岁了,一定要专注一件事情?视频号值得尝试!

经常说视频号下载助手, 但发现大多数的大佬都只是先专注一件事情。 小编初6就回来了,和一个大佬吃饭,虽然人家规模并不大,但日引客户上千也是基本的。 这里给大家揭秘一下,他的做法!!&#x…

Nginx返回502错误提示问题原因常用解决方法

Nginx返回502错误提示问题原因和常用解决方法 1. 因网站的访问量大,而php-cgi的进程数偏少,导致nginx 返回502错误 解决方法:针对这种情况的502错误,需增加php-cgi的进程数。 一般一个php-cgi进程占20M内存,你可以自…

3ds Max视频怎么渲染 3ds Max云渲染操作

在3ds Max软件中制作视频动画本质上是逐帧生成画面,并将这些连续帧串联起来创造出动态连贯的视觉效果。常见的视频帧率包括25 FPS(每秒帧数)、60 FPS、以及120 FPS等,帧率的提升可以使视频动画更加流畅。在实质上,视频渲染就是动画渲染&#…

力扣:45. 跳跃游戏 II

动态规划: 1.声明一个dp数组来表示到下标i时要跳转的最小次数,同时要个每个dp数组的值赋值为最大。之后初始化dp【0】0,用for循环来进行遍历下标i和遍历下标i之前的值,判断条件为如果i之前的某个下标跳转的距离>i时要根新dp【…

MakerPlace by Michaels:与Etsy一争高下的手工艺品新平台

Michaels是北美规模很大的专业艺术与手工艺品零售商,在加拿大和美国有1290家店。作为一个新的手工艺品在线交易平台——MakerPlace by Michaels 充满无限机遇!所以各位跨境人们也不要错过这个平台,跟着我一起来了解一下吧! MakerP…

平台+低代码:中小企业数字化转型普惠之路

随着数字化转型的深入推进,中小企业面临着数字化转型的压力和挑战。如何在有限的资源和条件下,实现高效、便捷的数字化转型,成为中小企业亟待解决的问题。本文将以“平台低代码”为主题,探讨中小企业数字化转型的新模式&#xff0…

武汉灰京文化展望未来游戏产业,科技创新引领全面升级的游戏体验

随着科技的迅速发展,未来游戏产业的发展将迎来一个全新的纪元。科技创新将引领游戏体验的全面升级,让玩家不再仅仅是通过屏幕与游戏互动,而是能够亲身感受到游戏世界的存在。这种全新的游戏体验将推动游戏产业不断突破创新,吸引更…

探究二维码技术:连接现实与数字世界的桥梁

title: 探究二维码技术:连接现实与数字世界的桥梁 date: 2024/2/19 13:15:36 updated: 2024/2/19 13:15:36 tags: 二维码技术数据编码纠错算法图像处理商业应用安全验证实时交互 引言: 二维码已经成为现代社会中广泛应用的一种技术工具。它不仅在商业领…

牛客网 OR141 密码检查

答案&#xff1a; #include <stdio.h> #include <string.h> #include <ctype.h> int main() {int n 0;int count1 0, count2 0, count3 0;scanf("%d", &n);while (n--){char ch[100];scanf("%s", ch);int len strlen(ch);if (…

图形化编程:启蒙儿童的创意之窗

传统的编程语言对于初学者&#xff0c;尤其是儿童来说&#xff0c;可能会显得复杂和难以理解。为了解决这个问题&#xff0c;图形化编程应运而生。图形化编程是一种通过拖拽图形块来编写程序的方法&#xff0c;它让编程变得简单、直观和有趣&#xff0c;为儿童提供了一个启蒙创…

【Python笔记-设计模式】惰性评价模式

一、说明 将某些对象的创建或计算延迟到真正需要它们的时候&#xff0c;以减少不必要的资源消耗和提高性能。 惰性评价在Python中实现也成为生成器&#xff0c;一般通过yield关键字实现。 (一) 解决问题 在处理大量数据时&#xff0c;使用惰性加载可以避免一次性加载所有数…

spark为什么比mapreduce快?

spark为什么比mapreduce快&#xff1f; 首先澄清几个误区&#xff1a; 1&#xff1a;两者都是基于内存计算的&#xff0c;任何计算框架都肯定是基于内存的&#xff0c;所以网上说的spark是基于内存计算所以快&#xff0c;显然是错误的 2;DAG计算模型减少的是磁盘I/O次数&…