TMDB电影数据分析(上)

TMDB电影数据分析(上)

        本文对源自Kaggle TMDB电影数据集进行分析影响电影票房的因素,数据分析流程包含数据集概分析、数据清洗、数据统计以及分析影响电影票房的因素。

        影响票房因素可能是电影预算、电影类型、电影时长、受欢迎程度、电影评分,发行时间等有关系,通过具体数据进行分析影响票房的因素。

数据集

      TDMB电影数据集包含大约 5000 部电影的相关数据。本次实验使用数据集中有关电影的数据表 tmdb_5000_movies.csv 进行数据分析。

      数据集的下载地址:https://www.kaggle.com/datasets/tmdb/tmdb-movie-metadata

      首先导入Python工具库,分别是numpy、pandas、matplotlib、seaborn。
在这里插入图片描述

      接下来导入数据集,调用Pandas的read_csv()函数读取.csv类型的文件,以数据文件名’tmdb_5000_movies.csv’作为参数。
在这里插入图片描述

      输出结果如下:
在这里插入图片描述

      由结果可以看出,该数据集总共有20个字段,总共包含4803条记录,记录索引为0至4802。另外,统计了各个字段上非空值的数目及各个字段的数据类型,比如tagline字段非空值数目为3959,总数据量为4803,说明该字段含有空值。

      所以使用isnull()方法判断是否缺失,sum()方法统计缺失的数目。结果如下图所示。
在这里插入图片描述

      下面调用DataFrame的describe()查看给定数据样本的基本统计信息,包含budget、id、popularity、revenue、runtime、vote_average、vote_count字段,对每个数值类型的字段统计个数、平均值、标准差、最小值、四分之一分位点(25%)、四分之二分位点(50%)、四分之三分位点(75%)以及最大值。
在这里插入图片描述

      上述结果表格中,budget、popularity、revenue、runtime、vote_average、vote_count列的最小值为0,对于budget、revenue、runtime中出现0是不符合常规的,认为这些是异常值,尤其revenue列25%处为0,说明revenue列中存在很多为0的值。

在这里插入图片描述

数据清洗

      经初步浏览数据集基本信息可以看出,数据集中存在缺失值现象,处理缺失值的常用方法有删除法、替换法、插入法。数据集中homepage、tagline字段中含有大量缺失值,考虑到这两个字段对不影响本次分析,可以直接删除这两个字段,同时删除其他与分析无关的字段。下面第一行代码调用DataFrame的drop()方法删除7个字段的数据,axis=1表示删除第二个维度上的数据,第二个维度代表列。参数inplace = True,表示直接将删除操作作用在数据集本身。第二行代码“movies.shape”查看数据集的行数和列数,返回一个元组,表示该数据集有4803条记录,每条记录有13个字段,也即行数是4803,列数是13。
在这里插入图片描述

      对于release_date、runtime这两个字段缺失值较少,可以使用指定数据进行手动填充缺失值,也可以直接删除含有缺失值的记录。

      删除含缺失值的记录(即一整行)的操作如下:
在这里插入图片描述

      数据集中可能存在某些记录重复,使用drop_duplicates()方法去掉重复记录,操作如下:
在这里插入图片描述

      keep参数为’first’,表示保留第一次出现的重复行,删除后面的重复行。

      另外,异常值存在对数据分析干扰很大,异常值过多,对分析结果产生不良影响,导致分析结果出现偏差甚至错误,统计各字段中异常值数目,操作如下:
在这里插入图片描述

      在数据量充足情况下,可以删除异常值所在记录,操作如下:
在这里插入图片描述

      上述代码调用movies.query()方法查找出budget、revenue字段中异常值所在记录并获取相应索引,使用drop()方法删除指定索引的记录后,数据集中样本数据还有3229条记录。再次查看数据集各字段基本统计信息,数据相对正常。

在这里插入图片描述

数据统计以及分析影响电影票房的因素

TMDB电影数据分析(下)


更多详细内容可看
在这里插入图片描述

相关推荐

  1. TiDB分布式数据库索引

    2024-04-10 11:08:02       21 阅读
  2. TIDB: 元数据查询语句

    2024-04-10 11:08:02       48 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-10 11:08:02       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-10 11:08:02       106 阅读
  3. 在Django里面运行非项目文件

    2024-04-10 11:08:02       87 阅读
  4. Python语言-面向对象

    2024-04-10 11:08:02       96 阅读

热门阅读

  1. 【Python】如何在Ubuntu环境中切换Python版本

    2024-04-10 11:08:02       36 阅读
  2. 每天学习一个Linux命令之watch

    2024-04-10 11:08:02       35 阅读
  3. NIO简介

    2024-04-10 11:08:02       37 阅读
  4. 大语言模型本地化部署思路

    2024-04-10 11:08:02       35 阅读
  5. ARM CoreLink 系列的互连产品包括哪些?

    2024-04-10 11:08:02       31 阅读
  6. vue中使用use引入的svg怎么添加title

    2024-04-10 11:08:02       36 阅读
  7. git-es6-promisem面试

    2024-04-10 11:08:02       31 阅读
  8. ES6 => 箭头函数

    2024-04-10 11:08:02       29 阅读
  9. Hermite 多项式

    2024-04-10 11:08:02       26 阅读
  10. 使用UDP完成网络单词查询,利用dict数据库

    2024-04-10 11:08:02       35 阅读
  11. Request 读取窗体变量四种方式

    2024-04-10 11:08:02       39 阅读
  12. 深度学习神经网络模型微调

    2024-04-10 11:08:02       42 阅读