【42 Pandas+Pyecharts | 某瓣电影Top250数据分析可视化】

文章目录

  • 🏳️‍🌈 1. 导入模块
  • 🏳️‍🌈 2. Pandas数据处理
    • 2.1 读取数据
    • 2.2 查看数据信息
    • 2.3 查看数据描述信息
    • 2.4 将中国地区语言修改为中文
  • 🏳️‍🌈 3. Pyecharts数据可视化
    • 3.1 各年份上映电影数量
    • 3.2 电影榜单TOP10
    • 3.3 电影评价人数前二十
    • 3.4 各地区上映电影数量
    • 3.5 各电影类型占比
    • 3.6 电影评分分布
    • 3.7 电影时长区间
    • 3.8 中文-英语电影数量占比
    • 3.9 电影片名词云
    • 3.10 电影主演词云
  • 🏳️‍🌈 4. 可视化项目源码+数据

大家好,我是 👉【Python当打之年(点击跳转)】

本期利用 python 分析一下「某瓣电影Top250数据」 ,看看各年份上映电影数量、各电影类型占比,各地区上映电影数量,电影评分分布,电影时长区间,电影导演、主演分布情况 等等,希望对大家有所帮助,如有疑问或者需要改进的地方可以联系小编。

涉及到的库:

  • Pandas — 数据处理
  • Pyecharts — 数据可视化

🏳️‍🌈 1. 导入模块

import pandas as pd
from pyecharts.charts import Bar
from pyecharts.charts import Scatter
from pyecharts.charts import Pie
from pyecharts.charts import Funnel
from pyecharts.charts import WordCloud
from pyecharts.charts import Line
from pyecharts.charts import Liquid
from pyecharts.charts import Grid
from pyecharts.commons.utils import JsCode
from pyecharts import options as opts
import warnings
warnings.filterwarnings('ignore')

🏳️‍🌈 2. Pandas数据处理

2.1 读取数据

df_movies = pd.read_excel("./TOP250.xlsx")

在这里插入图片描述

2.2 查看数据信息

df_movies.info()

在这里插入图片描述

2.3 查看数据描述信息

df_movies.describe()

在这里插入图片描述

  • 评分最高9.7,最低8.4,时长最长237分钟,最短45分钟

2.4 将中国地区语言修改为中文

df_movies.loc[df_movies["国家/地区"] == "中国", "语言"] = '中文'

🏳️‍🌈 3. Pyecharts数据可视化

3.1 各年份上映电影数量

def get_bar1():
    bar = (
        Bar()
            .add_xaxis(x_data)
            .add_yaxis('', y_data)
            .set_global_opts(
                title_opts=opts.TitleOpts(
                    title='1-各年份上映电影数量',
                    subtitle='-- 制图@公众号:Python当打之年 --',
                    pos_top='2%',
                    pos_left="center",
                    title_textstyle_opts=opts.TextStyleOpts(color='#228be6',font_size=20)
                ),
                visualmap_opts=opts.VisualMapOpts(
                    is_show=False,
                    range_color=range_color
                ),
                legend_opts=opts.LegendOpts(is_show=False),
                yaxis_opts=opts.AxisOpts(
                    splitline_opts=opts.SplitLineOpts(is_show=True, linestyle_opts=opts.LineStyleOpts(type_='dashed'))
                )
            )
    )
    return bar

在这里插入图片描述

  • 2010年上榜电影14部最多,其次是2004年、1994年的13部,以及2013年的12部。

3.2 电影榜单TOP10

def get_funnel():
    funnel = (
        Funnel()
            .add("", [list(z) for z in zip(x_data, y_data)])
            .set_series_opts(label_opts=opts.LabelOpts(position="inside", formatter='{b} {c}'))
            .set_global_opts(
                title_opts=opts.TitleOpts(
                    title='2-电影榜单TOP10',
                    subtitle='-- 制图@公众号:Python当打之年 --',
                    pos_top='2%',
                    pos_left="center",
                    title_textstyle_opts=opts.TextStyleOpts(color='#228be6',font_size=20)
                ),
                legend_opts=opts.LegendOpts(is_show=False),
                visualmap_opts=opts.VisualMapOpts(
                    is_show=False,
                    range_color=range_color
                )
            )
    )
    return funnel

在这里插入图片描述

3.3 电影评价人数前二十

def get_map(x_data, y_data)
    map0 = (
        Map(
            init_opts=opts.InitOpts(width='1000px', height='600px')
        )
        .add("",
             [list(z) for z in zip(x_data, y_data)],
             maptype="china",
            )
        .set_global_opts(
            title_opts=opts.TitleOpts(
                title='3-各省星巴克门店数量分布',
                pos_top='2%',
                pos_left="center",
                title_textstyle_opts=opts.TextStyleOpts(color='#228be6',font_size=20)
            ),
            visualmap_opts=opts.VisualMapOpts(
                is_show=True,
                pos_top='70%',
                pos_left='20%',
                range_color=range_color
            )
        )
    )
    return map0

在这里插入图片描述

3.4 各地区上映电影数量

def get_funnel():
    line = (
        Line()
        .add_xaxis(x_data)
        .add_yaxis('地区上映数量', y_data)
        .set_global_opts(
            title_opts=opts.TitleOpts(
                title='4-各地区上映电影数量',
                subtitle='-- 制图@公众号:Python当打之年 --',
                pos_top='2%',
                pos_left="center",
                title_textstyle_opts=opts.TextStyleOpts(color='#228be6',font_size=20)
            ),
            visualmap_opts=opts.VisualMapOpts(
                is_show=False,
                range_color=range_color,
            )
        )
    )
    return line

在这里插入图片描述

  • 从上榜电影地区分布上看,美国以144部排名第一,其次是中国的44部和日本的33部排名第二、三位。

3.5 各电影类型占比

在这里插入图片描述

  • 从上榜电影类型分布上看,剧情类电影占比最高(26.8%),其次是爱情类(8.36%),喜剧类(7.49%),冒险类(7.2%)

3.6 电影评分分布

在这里插入图片描述

3.7 电影时长区间

def get_pie():
    pie = (
        Pie()
            .add("",
                 [list(z) for z in zip(x_data, y_data)],
                 radius=["30%", "70%"],
                 label_opts=opts.LabelOpts(formatter="{b}: {c} ({d}%)")
             )
            .set_global_opts(
                title_opts=opts.TitleOpts(
                    title='7-电影时长区间',
                    subtitle='-- 制图@公众号:Python当打之年 --',
                    pos_top='2%',
                    pos_left="center",
                    title_textstyle_opts=opts.TextStyleOpts(color='#228be6',font_size=20)
                ),
                legend_opts=opts.LegendOpts(is_show=False),
                visualmap_opts=opts.VisualMapOpts(
                    is_show=False,
                    range_color=range_color,
                ),
            )
    )
    return pie

在这里插入图片描述

  • 43.2%的电影在90-120分钟这个时间段内,即一个半小时至两个小时。
  • 150分分钟以上的电影有37部,占比14.8%。

3.8 中文-英语电影数量占比

在这里插入图片描述

  • 中文语种电影44部,占比17.6%,英语语种电影144部,占比57.6%。

3.9 电影片名词云

def get_wordcloud():
    wordcloud = (
        WordCloud()
            .add("",words,word_size_range=[10, 50])
            .set_global_opts(
                title_opts=opts.TitleOpts(
                    title='9-电影主演词云',
                    subtitle='-- 制图@公众号:Python当打之年 --',
                    pos_top='2%',
                    pos_left="center",
                    title_textstyle_opts=opts.TextStyleOpts(color='#228be6',font_size=20)
                )
        )
    )
    return wordcloud

在这里插入图片描述

3.10 电影主演词云

在这里插入图片描述

🏳️‍🌈 4. 可视化项目源码+数据

点击跳转:【全部可视化项目源码+数据】


以上就是本期为大家整理的全部内容了,赶快练习起来吧,原创不易,喜欢的朋友可以点赞、收藏也可以分享注明出处)让更多人知道。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【数据库-黑马笔记】基础-SQL

本文参考b站黑马数据库视频,总结详细全面的笔记 ,可结合视频观看1~26集 MYSQL 的基础知识框架如下 目录 一、MYSQL概述 1、数据库相关概念 2、MYSQL的安装及启动 二、SQL 1、DDL【Data Defination】 2、DML【Data Manipulation】 ①、插入 ②、更新和删除 3、 DQL【Data…

基于Java+SpringBoot+vue+element实现婚纱摄影网系统

基于JavaSpringBootvueelement实现婚纱摄影网系统 🍅 作者主页 央顺技术团队 🍅 欢迎点赞 👍 收藏 ⭐留言 📝 🍅 文末获取源码联系方式 📝 文章目录 基于JavaSpringBootvueelement实现婚纱摄影网系统前言介…

深度学习进阶:揭秘强化学习原理,实战应用全解析!

作为机器学习领域的一大分支,强化学习以其独特的学习方式吸引了众多研究者和实践者的目光。强化学习,顾名思义,是通过不断地强化与环境的交互来优化决策策略。在这个过程中,智能体通过试错,根据环境给出的奖励信号来调…

反无人机电子护栏:原理、算法及简单实现

随着无人机技术的快速发展,其在航拍、农业、物流等领域的应用日益广泛。然而,无人机的不规范使用也带来了安全隐患,如侵犯隐私、干扰航空秩序等。为了有效管理无人机,反无人机电子护栏技术应运而生。 目录 一、反无人机电子护栏…

《OWASP TOP10漏洞》

0x01 弱口令 产生原因 与个人习惯和安全意识相关,为了避免忘记密码,使用一个非常容易记住 的密码,或者是直接采用系统的默认密码等。 危害 通过弱口令,攻击者可以进入后台修改资料,进入金融系统盗取钱财&#xff0…

现代化的轻量级Redis桌面客户端Tiny RDM

​欢迎光临我的博客查看最新文章: https://river106.cn 1、简介 Tiny RDM(全称:Tiny Redis Desktop Manager)是一个界面现代化的轻量级Redis桌面客户端,支持Linux、Mac和Windows。它专为开发和运维人员设计,使得与Red…

电脑音频显示红叉怎么办?这里提供四种方法

前言 如果你在系统托盘中看到音量图标上的红色X,则表示你无法使用音频设备。即使音频设备未被禁用,当你运行音频设备疑难解答时,仍然会看到此错误。 你的电脑将显示已安装高清音频设备,但当你将鼠标悬停在图标上时,它将显示未安装音频输出设备。这是一个非常奇怪的问题,…

yolov8模型结构

yolov8模型结构 yolo发展历史yolov8简介yolov8模型结构 yolo发展历史 YOLOv1:2015年Joseph Redmon和 Ali Farhadi等 人(华盛顿大学) YOLOv2:2016年Joseph Redmon和Ali Farhadi等人(华盛顿大学) YOLOv3&…

200W年薪的大佬 随手丢给我“Spring速成宝典”看完这些知识点直接定级P7

面试官:答的很好,最后一个问题:如果没有Spring,你打算怎么开展工作? 这个思考了几分钟后,程序员小建是这么回答的:Spring的核心源码,比如:IOC、AOP、Spring事务、MVC原理…

SpringBoot集成对象存储服务Minio

MinIO 是一个基于 Apache License v2.0 开源协议的对象存储服务。它兼容亚马逊 S3 云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小,从…

Linux面试题汇总!附答案详解!学习提升必备!(30w+收藏)

Linux 概述 什么是Linux Unix和Linux有什么区别? 什么是 Linux 内核? Linux的基本组件是什么? Linux 的体系结构 BASH和DOS之间的基本区别是什么? Linux 开机启动过程? Linux系统缺省的运行级别? L…

mysql server 和mysql workBench的安装

选择在线安装 选择性安装,只需安装server 和workBench,其中server是数据库,workBench是数据库的可视化

Springboot+vue的人事管理系统(有报告)。Javaee项目,springboot vue前后端分离项目。

演示视频: Springbootvue的人事管理系统(有报告)。Javaee项目,springboot vue前后端分离项目。 项目介绍: 采用M(model)V(view)C(controller)三层…

leetcode 热题 100_删除链表的倒数第 N 个结点

题解一: 递归:利用递归栈逆向遍历链表,并用全局变量记录当前遍历的是倒数第几位节点,当遍历到待删节点的上一位节点时,node.nextnode.next.next删除待删节点。需要注意当删除的是头节点时,直接return head.…

预测建模案例-预防机器故障

预测分析是一种使用当前数据和历史数据来预测活动、行为和趋势的高级分析形式。它涉及将统计分析技术、数据查询和机器学习算法应用于数据集。预测分析还涉及创建预测模型,以对特定操作或事件发生的可能性设置数值或评分。 预测分析寻找数据模式并预测未来趋势&…

框架漏洞Shiroweblogicfastjson || 免杀思路

继续来讲一下我们的框架漏洞,先讲一下Shiro 1.Shiro反序列化 1.原理 Shiro的漏洞形成呢,就是因为存在了RememberMe这样的一个字段 Shiro 框架在处理 "rememberMe" 功能时使用了不安全的反序列化方法,攻击者可以构造恶意序列化数据&#xff0…

原来jmeter接口测试还可以这么做...

JMeter是一个Java应用程序,是基于开源的性能测试工具。它可以用来对Web应用程序或FTP服务器进行压力测试,以便确定它们在高负载下还能否正常运行。JMeter支持各种协议,如HTTP、HTTPS、FTP、SOAP、REST等。 本文将介绍JMeter的详细使用教程&a…

Leetcode 141. 环形链表

题目描述: 给你一个链表的头节点 head ,判断链表中是否有环。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表…

【数据科学赛】光伏发电出力预测 #¥150,000

CompHub[1] 最新的比赛会第一时间在群里通知,欢迎加群交流比赛经验!(公众号回复“加群”即可) 根据比赛主页[2](文末阅读原文),使用AI辅助生成 光伏发电出力预测 比赛题目 本次比赛的题目是关于光伏发电出力预测。参…

FreeRTOS操作系统学习——中断管理

中断管理介绍 嵌入式实时系统需要对整个系统环境产生的事件作出反应。这些事件对处理时间和响应时间都有不同的要求。事件通常采用中断方式检测,中断服务例程(ISR)中的处理量应当越短越好。ISR是在内核中被调用的, ISR执行过程中,用户的任务…