file_path="test_data/IMDB-Movie-Data.csv"
df=pd.read_csv(file_path)
print(df.head(1))
print(df.info())
#rating runtime分布情况
#选择图形,直方图
#准备数据
runtime_data=df["Runtime (Minutes)"].values
max_runtime=runtime_data.max()
min_runtime=runtime_data.min()
# 计算组距
num_bin=(max_runtime-min_runtime)//5
#设置图形的大小
# plt.figure(figsize=(20,8),dpi=80)
# plt.hist(runtime_data,num_bin)
# plt.xticks(range(min_runtime,max_runtime+5,5))
# plt.show()
#获取电影平均分
print(df["Rating"].mean())
#获取导演人数
print(len(set(df["Director"].tolist())))#set函数创建一个无序不重复元素集
print(len(df["Director"].unique()))#unique函数创建不重复的列表
#获取演员的人数
temp_actors_list=df["Actors"].str.split(", ").tolist()
print(temp_actors_list)
actors_list=[i for j in temp_actors_list for i in j]
actors_num=len(set(actors_list))
print(actors_num)
#电影分类
#统计分类列表
temp_list=df["Genre"].str.split(",").tolist()
genre_list=list(set([i for j in temp_list for i in j] ))
#构造全为0的数组
zeros_df=pd.DataFrame(np.zeros((df.shape[0],len(genre_list))),columns=genre_list)
print(zeros_df)
#给每个顶电影出现的位置赋值为1
for i in range(df.shape[0]):
#zeros_df.loc[0,["Sci-fi","Mucical"]]=1
zeros_df.loc[i,temp_list[i]]=1
print(zeros_df.head(3))
#统计每个分类电影数量和
genre_count=zeros_df.sum(axis=0)
print(genre_count)
#排序
genre_count=genre_count.sort_values()
print(genre_count)