数据分析实战—IMDB电影数据分析

1.实战内容

1.加载数据到movies_df**,输出前5行,输出****movies_df.info(),movies_df.describe()**

python 复制代码
# (1)加载数据集,输出前5行
#导入库
import pandas as pd
import numpy as np
import matplotlib
import matplotlib.pyplot as plt
import seaborn as sns
matplotlib.rcParams['font.family'] = 'SimHei'
matplotlib.rcParams['axes.unicode_minus'] = False

movies_df=pd.read_csv('movie_metadata.csv')
movies_df.head(5)#输出前5行

此为运行结果部分内容

python 复制代码
movies_df.info()    # 输出了27列特征的名称,非空数据个数,数据类型
python 复制代码
movies_df.describe()#输出movies_df的基本统计量和分位数等值

此为运行结果部分内容

2.数据清洗:统计每列缺失值个数;删除任何含有缺失值的行;删除重复数据;查看数据清洗后的数据集(movies_df_new)信息。

python 复制代码
#(4)统计缺失值个数并打印
column_null_number = movies_df.isnull().sum()
print('每列缺失值个数','\n',column_null_number)
python 复制代码
# (5)删除有缺失值的行,并将结果保存到数据集(movies_df_nonull)
movies_df_nonull = movies_df.dropna()
print('每列缺失值个数','\n',movies_df_nonull.isnull().sum())
print('数据个数',movies_df_nonull.shape)
python 复制代码
# (6)删除重复数据,并将结果保存到数据集(movies_df_new)
movies_df_new = movies_df_nonull.drop_duplicates(keep='first')
movies_df_new.count()
python 复制代码
movies_df_new.info() #验证一下结果

3.数据分析及与视化

python 复制代码
# (7)统计每个国家及地区出品的电影数量并打印
country_group = movies_df_new.groupby('country').size()
country_group
python 复制代码
# (8)显示电影出品数量排名前10位的国家及地区
group_head_10=country_group.sort_values(ascending=False).head(10)
group_head_10
python 复制代码
#(9)绘制电影出品数量排名前10位的柱形图,本题5分
group_head_10.plot(kind = 'bar')
plt.xlabel("country/area")
python 复制代码
# (10) 按年份统计每年的电影数量
group_year= movies_df_new.groupby('title_year').size()
group_year
python 复制代码
#(11)绘制每年的电影数量图形
group_year.plot()
python 复制代码
# (12)按年份统计每年电影总数量、彩色影片数量和黑白影片数量并绘制图形
movies_df_new['title_year'].value_counts().sort_index().\
plot(kind='line',label='total number')
movies_df_new[movies_df_new['color']=='Color']['title_year'].\
value_counts().sort_index().plot(kind='line',\
c='red',label='color number')
movies_df_new[movies_df_new['color']!='Color']['title_year'].\
value_counts().sort_index().plot(kind='line',c='black',\
label='Black White number')
plt.legend(loc='upper left')
python 复制代码
# (13)计算不同类型的电影数量
# 提示:根据电影题材(Genres)列,进行统计。如某个电影的题材包含在|Action|Adventure|Fantasy|Sci-Fi这四类中。
# 提示:先读取movies_df_new['genres'],然后再用split进行分割读取。
types = []
for tp in movies_df_new['genres']:
             sp = tp.split('|')
             for x in sp:
                 types.append(x)
types_df = pd.DataFrame({'genres':types})
types_df
types_df_counts = types_df['genres'].value_counts()
types_df_counts
types_df_counts.plot(kind='bar')
plt.xlabel('genres')
plt.ylabel('number')
plt.title('genres&number')

4.电影票房统计及电影票房相关因素的分析

python 复制代码
# (14)每年票房统计并打印
year_gross = movies_df_new.groupby('title_year')['gross'].sum()
year_gross
python 复制代码
# (15)绘制每年的票房统计图,本题5分
year_gross.plot(figsize=(10,5))
plt.xticks(range(1915,2018,5))
plt.xlabel('year')
plt.ylabel('gross')
plt.title('year&gross')
python 复制代码
# (16)查看票房收入排名前20位的电影片名和类型
movie_grose_20 = movies_df_new.sort_values(['gross'],\
ascending=False).head(20)
movie_grose_20[['movie_title','gross','genres']]
python 复制代码
# (17)电影评分与票房的关系散点图
# 提示:纵坐标要除以1000000000
plt.scatter(x= movies_df_new.imdb_score,y=movies_df_new.gross/1000000000)
plt.xlabel('imdb_score')
plt.ylabel('gross')
plt.title('imdb_score&gross')
python 复制代码
# (18)电影时长与票房的关系的散点图
# 提示:纵坐标要除以1000000000
plt.scatter(x= movies_df_new.duration,y=movies_df_new.gross/1000000000)
plt.xlabel('duration')
plt.ylabel('gross')
plt.title('duration&gross')

2.数据集下载

https://gitee.com/qxh200000/c_-code/commit/5e5f95f930dfc03b587c20768e82cb4ecbda96fb

相关推荐
Maxwell_li14 小时前
Pandas 描述分析和分组分析学习文档
学习·数据分析·numpy·pandas·matplotlib
来鸟 鸣间7 小时前
日常简单数据分析之matlab (一)
matlab·数据分析
Maxwell_li19 小时前
pandas数据合并
机器学习·数据分析·numpy·pandas·matplotlib
珑墨11 小时前
【AI产品】当下AI产品的变现模式深度分析
人工智能·ai·数据分析·产品运营·aigc·ai编程·ai写作
祝余Eleanor11 小时前
Day 30 函数专题2 装饰器
人工智能·python·机器学习·数据分析
Brduino脑机接口技术答疑15 小时前
脑机接口数据处理连载(六) 脑机接口频域特征提取实战:傅里叶变换与功率谱分析
人工智能·python·算法·机器学习·数据分析·脑机接口
自然语16 小时前
数字生已经进化到一个分水岭面临选择?先实现“动态识别“还是先实现“特征信息归纳分类“,文中给出以给出答案,大家选哪个方向?
人工智能·分类·数据挖掘
RickyWasYoung16 小时前
【聚类算法】高维数据的聚类
算法·数据挖掘·聚类
非著名架构师17 小时前
气象驱动的需求预测:零售企业如何通过气候数据分析实现库存精准控制
人工智能·深度学习·数据分析·transformer·风光功率预测·高精度天气预报数据
以山河作礼。17 小时前
解锁全球旅游数据:动态代理+AI智能推荐实战
大数据·人工智能·数据分析