今天给大家分享的案例就是关于电影的啦,我们一起来看看IMDBtop10000的电影排行榜数据
首先第一步,相信大家已经是非常非常熟悉了对吧~那就是对数据进行处理,今天的案例中呢我们先来对数据进行整理和探索那数据整理有没有一个标准啊,具有普适性一些的
来看一下基本的流程:构建数据框——清洗数据——探索全局特征——探索分组特征
这个流程在我们遇到新的数据集的时候可以给我们提供一些思路
经过以上几步数据整理后,可以增加我们对数据特征的基本了解,同时也可以帮助我们去发现问题、提出新想法回到今天的案例本身哈,首先导入数据,生成数据集
编辑切换为居中
添加图片注释,不超过 140 字(可选)
然后,我们在清洗数据的时候发现有几个问题
1.电影时长不是数值,而是字符串;
2.电影流派不是原子数据,很难提取特定的流派做分析;
3.上映年份在名称和时间上是重复的。
来修正一下电影的时长把字符串“142 mins”,转换成数值142我们可以以列表解析的方式实现
编辑切换为居中
添加图片注释,不超过 140 字(可选)
随后对流派信息进行分割我们可以使用指示变量的概念将流派列分割成许多列。每个新的列将对应于一个单一的流派,每个单元格将为True或False。然后我们再从名称里把年份信息移除掉可以通过移除最后7个字符的方式实现完成数据清洗之后,我们就可以着手探索全局特征啦~首先,通过describe方法来了解
编辑
添加图片注释,不超过 140 字(可选)
在此过程中,我们发现电影时长有一部分为0的,来看看一共有多少,顺手标记为NAN将损坏的数据 标记完成后再看一下。
编辑
添加图片注释,不超过 140 字(可选)
然后我们来做一些基本的可视化
主要针对几个问题:最近几年的电影很多,但是更近一点的不是很多(是不是投票时间不足?)
编辑
添加图片注释,不超过 140 字(可选)
编辑
添加图片注释,不超过 140 字(可选)
编辑
添加图片注释,不超过 140 字(可选)
时间更近的电影评分较低,这是真实的情况还是选择偏差?
编辑
添加图片注释,不超过 140 字(可选)
编辑
添加图片注释,不超过 140 字(可选)
在这个过程中,我们寻找到了一些异常点,比如:评价较低但是投票数高。
编辑
添加图片注释,不超过 140 字(可选)
来看看最低评分和最高评分的电影
编辑切换为居中
添加图片注释,不超过 140 字(可选)
编辑
添加图片注释,不超过 140 字(可选)
今年评分最高的电影怕不是战狼
然后,我们对一些行或列,使用聚合函数如 sum 进行分析,看看哪个流派出现的频次是最高的?
添加图片注释,不超过 140 字(可选)
那平均一部电影有多少个流派标记呢?
编辑
添加图片注释,不超过 140 字(可选)
接下来,我们来探索一下分组的特征,先将电影按年代划分
编辑
添加图片注释,不超过 140 字(可选)
我们用GroupBy 就可以很方便的将电影按年代分组看一下每个年代的平均分
编辑
添加图片注释,不超过 140 字(可选)
我们还可以进一步看下每年评分的分散情况也可以在GroupBy对象上进行迭代。每次迭代生成两个变量:group key和与group key对应的数据子集。
找到每年最流行的电影
编辑
添加图片注释,不超过 140 字(可选)
接下来我们按照流派划分数据,看看发行时间,时长,评分是如何分布的。 全部电影数据的分布作为灰色背景展示。
编辑切换为居中
添加图片注释,不超过 140 字(可选)
因为这不是标准的groupby操作, 所以不能使用groupby函数。
从这里我们可以发现一些微妙的特征:
1.西部片和音乐剧有更水平的分布。
2.黑色电影在五六十年代更受欢迎。
编辑切换为居中
添加图片注释,不超过 140 字(可选)
1.传记和历史题材电影时间更长
2.动画电影较短
3.黑色电影和总数据的均值相同,但更集中在100分钟时长左右
4.音乐剧和总数据的均值相同, 但时间更为分散
编辑切换为居中
添加图片注释,不超过 140 字(可选)
从这张图看出来:
1.黑色电影,历史和传记电影有更高的评分
2.恐怖和成人电影评分较低
成人电影看的人太多了,平均拉下来了