Pandas基础案例--电影数据分析

一、获取数据

2006~2016年1000部最流行的电影IMDB-Movie-Data.csv数据下载:链接:https://pan.baidu.com/s/1VWR_MaEnh1pkXQMtVscpyQ 
提取码:1bt0

参考博客:matplotlib、numpy和pandas综合案例数据分析-CSDN博客

 问题一:

计算电影平均分,计算导演人数

import matplotlib.pyplot as plt
import numpy as np
import pandas as pd

move = pd.read_csv('./data/IMDB-Movie-Data.csv')
'''
问题一:
求平均分,导演人数
'''
#平均分
print(f"平均分:{move["Rating"].mean()}")
#导演人数信息
#去重
print(f"导演人数:{move["Director"].unique().shape[0]}")

 

问题二:

 查看电影评分和电影分布情况

import matplotlib.pyplot as plt
import numpy as np
import pandas as pd

move = pd.read_csv('./data/IMDB-Movie-Data.csv')
#绘制Rating直方图
#创建画布
plt.figure(figsize=(12,6),dpi=100)
#绘制图像
plt.hist(move["Rating"].values, 20)
#增加刻度
max_ = move["Rating"].max()
min_ = move["Rating"].min()
x1 = np.linspace(min_, max_, 21)#均匀分布
plt.xticks(x1)
#添加网格
plt.grid()
#显示图像
plt.show()

电影评分的分布情况运行结果

 

import matplotlib.pyplot as plt
import numpy as np
import pandas as pd

move = pd.read_csv('./data/IMDB-Movie-Data.csv')
#绘制Runtime(Minutes)时长分布直方图
#创建画布
plt.figure(figsize=(12,6),dpi=100)
#绘制图像
plt.hist(move["Runtime (Minutes)"].values, 20)
#增加刻度
max_ = move["Runtime (Minutes)"].max()
min_ = move["Runtime (Minutes)"].min()
x1 = np.linspace(min_, max_, 21)#均匀分布
plt.xticks(x1)
#添加网格
plt.grid()
#显示图像
plt.show()

电影时长分布情况运行结果:

 问题三:

对于一组电影数据,统计电影分类情况,处理数据
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd

move = pd.read_csv('./data/IMDB-Movie-Data.csv')

#统计电影种类
temp_list = [i.split(",") for i in move["Genre"]]
array_list = np.unique([i for j in temp_list for i in j])
#创建全为0的DataFrame
genre_zero = pd.DataFrame(np.zeros([move.shape[0], array_list.shape[0]]),columns=array_list)

#遍历每行数据,在所属类型列表下置1
for i in range(1000):
    genre_zero.loc[i,temp_list[i]] = 1
#求每列的和,绘图

genre_zero.sum().sort_values(ascending=False).plot(kind='bar',figsize=(12,6))
plt.show()

运行结果:

  • 6
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值