1. # coding=utf-8
    2. import pandas as pd
    3. from matplotlib import pyplot as plt
    4. import numpy as np
    5. file_path = "./IMDB-Movie-Data.csv"
    6. df = pd.read_csv(file_path)
    7. print(df["Genre"].head(3))
    8. #统计分类的列表
    9. temp_list = df["Genre"].str.split(",").tolist() #[[],[],[]]
    10. genre_list = list(set([i for j in temp_list for i in j]))
    11. #构造全为0的数组
    12. zeros_df = pd.DataFrame(np.zeros((df.shape[0],len(genre_list))),columns=genre_list)
    13. # print(zeros_df)
    14. #给每个电影出现分类的位置赋值1
    15. for i in range(df.shape[0]):
    16. #zeros_df.loc[0,["Sci-fi","Mucical"]] = 1
    17. zeros_df.loc[i,temp_list[i]] = 1
    18. # print(zeros_df.head(3))
    19. #统计每个分类的电影的数量和
    20. genre_count = zeros_df.sum(axis=0)
    21. print(genre_count)
    22. #排序
    23. genre_count = genre_count.sort_values()
    24. _x = genre_count.index
    25. _y = genre_count.values
    26. #画图
    27. plt.figure(figsize=(20,8),dpi=80)
    28. plt.bar(range(len(_x)),_y,width=0.4,color="orange")
    29. plt.xticks(range(len(_x)),_x)
    30. plt.show()