import matplotlib.pyplot as plt
 import numpy as np
 import pandas as pd
 movie1 = movie = pd.read_csv("./IMDB-Movie-Data.csv")
 np.any(pd.isnull(movie1)) #判断里面是否有一个缺失值,有就还回True
 np.all(pd.notnull(movie1)) #判断里面是否有一个缺失值,有就还回False
 np.any(pd.isnull(data)) #判断里面是否有一个缺失值,有就还回True
 movie1["Revenue (Millions)"].head(10)
 movie1["Revenue (Millions)"].fillna(value=movie1["Revenue (Millions)"].mean()).head(10)
 for i in movie1.columns:
     if np.any(pd.isnull(movie1[i])) == True:
         movie1[i].fillna(value=movie[i].mean(),inplace=True)
 np.any(pd.isnull(movie1)) #判断里面是否有一个缺失值,有就还回True
movietemp = movie1.replace(to_replace="?",value=np.nan)#如果有?这个问号,可以这样来替换
 movietemp = movietemp.dropna()#如果有缺失值,可以用这命令删除
1  问题1:我们想知道这些电影数据中评分的平均分,导演人信息,我们应该怎么获取?
 #movie = pd.read_excel("../qt/电影.xlsx")
 movie = pd.read_csv("./IMDB-Movie-Data.csv")
 #movie2 = pd.read_table("../qt/movies.dat", sep='::', header=None, engine = 'python')
 movie["Rating"].mean()
 movie["Director"].count()
 #去重后,取形状的数据即可看到去重后的导演
 movie["Director"].unique().shape[0]
 2  问题2:
     对于这一组电影数据,如果我们想Rating,Runtime(minutes)的分布情况
 #电影评分
 #创建画布
 plt.figure(figsize=(20,8),dpi=100)
 #绘制
 plt.hist(movie["Rating"].values,20)
 #2.1 增加x轴刻度
 max_ = movie["Rating"].max()
 min_ = movie["Rating"].min()
 x1 = np.linspace(min_,max_,21)
 plt.xticks(x1)
 #显示网格
 plt.grid()
 #显示
 plt.show()
 #时长分布统计
 #创建画布
 plt.figure(figsize=(20,8),dpi=100)
 #绘制
 plt.hist(movie["Runtime (Minutes)"].values,20)
 #2.1 增加x轴刻度
 max_ = movie["Runtime (Minutes)"].max()
 min_ = movie["Runtime (Minutes)"].min()
 x1 = np.linspace(min_,max_,21)
 plt.xticks(x1)
 #显示网格
 plt.grid()
 #显示
 plt.show()
 3  3 对于这一组电影数据,如果我们希望统计电影分类的情况,应该如何处理数据?
movie["Genre"].head()
 temp_list = [i.split(",") for i in movie["Genre"]]
 array_list = np.unique([j for i in temp_list for j in i])
 array_list
 array_list.shape[0]
 # 创建一个全为零的genre_zero
 genre_zero = pd.DataFrame(np.zeros((movie.shape[0],array_list.shape[0])),columns=array_list)
 genre_zero.head()
 for i in range(1000):
     genre_zero.loc[i,temp_list[i]] = 1
 genre_zero.head()
 genre_zero.sum().sort_values(ascending=False).plot(kind="bar",figsize=(20,8),colormap="cool",fontsize=10)











