'''-*- coding: utf-8 -*-@Author  : Dongze Xu@Time    : 2021/12/10 20:35@Function:
'''
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt'''设置dataframe显示数据
'''
#显示Dateframe所有行
pd.set_option('display.max_rows',None)
#显示Dateframe所有列(参数设置为None代表显示所有行,也可以自行设置数字)
pd.set_option('display.max_columns',None)
#设置Dataframe数据的显示长度,默认为50
pd.set_option('max_colwidth',200)
#禁止Dateframe自动换行(设置为Flase不自动换行,True反之)
pd.set_option('expand_frame_repr', False)movie = pd.read_csv("./data/IMDB-Movie-Data.csv")
# print(movie.head())'''我们希望统计电影分类(genre)的情况分析:1、先将Genre列的数据存储到一个列表里面,由于每行不止一个数据且用“,”分割,我们可以用split方法进行切分2、然后我们需要知道有多少种不同种类得电影,再对整个列表进行去重3、我们生成一个二维矩阵来存储统计的信息,行数是数据的总行数,列代表不同种类的电影名称,i行j列代表的就是i行是否出现过j列的数据4、对矩阵每一列进行求和,得出每个电影出现次数的总和,然后进行排序5、画图
'''
#1、先将Genre列的数据存储到一个列表里面,由于每行不止一个数据且用“,”分割,我们可以用split方法进行切分
movie_list = [i.split(",") for i in movie["Genre"]]
single_movie_list = [j for i in movie_list for j in i]
#2、然后我们需要知道有多少种不同种类得电影,再对整个列表进行去重
fin_movie_list = np.unique(single_movie_list)
print(fin_movie_list)#3、我们生成一个二维矩阵来存储统计的信息,行数是数据的总行数,列代表不同种类的电影名称,i行j列代表的就是i行是否出现过j列的数据
zeros_matrix = np.zeros([movie.shape[0], fin_movie_list.shape[0]])
data_matrix = pd.DataFrame(zeros_matrix, columns=fin_movie_list)#遍历movie_list得到原数据每行的电影名
#在对应位置上给相应的电影名加1,统计出现次数
for i in range(1000):str_list = movie_list[i]data_matrix.loc[i, movie_list[i]] = 1print(data_matrix.head())#4、对矩阵每一列进行求和,得出每个电影出现次数的总和,然后进行排序
genre = data_matrix.sum().sort_values(ascending=True)# print(genre)
genre.plot(kind="bar", colormap="cool", figsize=(30, 15), fontsize=16)
plt.show()

pandas学习笔记:02、统计电影分类情况相关推荐

  1. Pandas案例(统计电影分类情况-重要)

    #统计电影分类,每一个类别有多少部电影 #思路:创建一个全0数组,以类别为列名,遍历每条数据,是此类别,则这一行的列值赋值为1 import pandas as pd import matplotli ...

  2. 数据分析案例:统计电影分类情况

    本文通过一个电影分类统计的案例来对python数据分析形成一个初步的理解.以下是我在写代码时记录下的一些东西. 数据来源:IMDB data from 2006 to 2016 | Kaggle 取消 ...

  3. python pandas修改列名,Python_Pandas学习笔记02:DataFrame获取列名和修改列名

    Python_Pandas学习笔记02:DataFrame获取列名和修改列名 Python_Pandas学习笔记02:DataFrame获取列名和修改列名 一.参考资料 [1].?Pandas获取列名 ...

  4. 【计算机网络学习笔记02】计算机网络概述(中)

    [计算机网络学习笔记02]计算机网络概述(中) 计算机网络的定义.组成与分类 1计算机网络的定义 1.1 简单定义: 一些相互连接的.以共享资源为目的的.自治的计算机的集合. 1.2 通用定义: 利用 ...

  5. MySQL技术内幕-InnoDB存储引擎第2版-学习笔记-02

    MySQL技术内幕-InnoDB存储引擎第2版-学习笔记-02 6. 锁 ​ 人们认为行级锁总会增加开销.实际上,只有当实现本身会增加开销时,行级锁才会增加开销.InnoDB 存储引擎不需要锁升级,因 ...

  6. pandas学习笔记之DateFrame

    pandas学习笔记之DateFrame 文章目录 pandas学习笔记之DateFrame 1.DateFrame的创建 1)认识DataFrame对象 2)由二维列表创建(默认index和colu ...

  7. 数据分析之pandas学习笔记(六)(层次化索引、重塑、轴向旋转、行列变换、合并表数据)

    数据分析之Pandas学习笔记(六)(层次化索引.重塑.轴向旋转.行列变换.合并表数据) level层次化索引 unstack()与stack()进行重塑,即:行列索引变换 swaplevel()交换 ...

  8. pandas学习笔记之Series

    pandas学习笔记之Series 文章目录 pandas学习笔记之Series pandas中Series的创建 1)用python中的列表list创建: 2)用numpy数组创建 3)用pytho ...

  9. JavaWeb黑马旅游网-学习笔记02【注册功能】

    Java后端 学习路线 笔记汇总表[黑马程序员] JavaWeb黑马旅游网-学习笔记01[准备工作] JavaWeb黑马旅游网-学习笔记02[注册功能] JavaWeb黑马旅游网-学习笔记03[登陆和 ...

最新文章

  1. Delphi 之Copyrect的使用
  2. 第1个实验:用汇编语言点亮一盏LED
  3. Java程序员从笨鸟到菜鸟之(十)枚举,泛型详解
  4. 通过图片 找到桌面相同图片区域坐标_【Axure RP9原型案例】京东与淘宝的商品图片是如何被放大的...
  5. 执行ssh-add时出现Could not open a connection to your authentication agent
  6. python3设置编码_python3 中文乱码与默认编码格式设定方法
  7. 围绕央行系统升级所产生的常见问题
  8. LeetCode 题 - 66. 列表元素加一 python实现
  9. 【OpenStack】【Keystone】安装与配置详解
  10. 使用.NET System.IO.Pipelines和Kestrel套接字库创建Redis客户端
  11. 华为cipher解密工具_Android、iPhone和Java三个平台一致的加密工具
  12. java mian 方法_Java mian函数
  13. 为什么你从来没做过发起人?
  14. MVVM绑定多层级数据到TreeView并设置项目展开
  15. 代码源文件中去掉断元字符^M的方法介绍
  16. Android截图-截屏与截长图(二)
  17. Computer Shader的理解记录
  18. 菜菜的sklearn机器学习实战——全部课件
  19. 自然语言处理 cs224n 2019 Lecture 11: ConvNets for NLP
  20. 证书服务器搭建与邮件签名加密

热门文章

  1. 微信小程序实现图片多选择 || 选择城市
  2. java servlet作用_Servlet的功能是什么
  3. deepin20安装calibre4.17.0(kindle最佳伴侣)
  4. uctf信息安全_UCTF2016 twi Writeup
  5. 大学物理复习——静电场中的导体和电介质
  6. 共地问题的干扰用滤波器也难于解决.
  7. BL9342降压型电源芯片
  8. 使用命令查看数据库SQLite以及数据库SQLite无法获取root权限
  9. 【剑指Offer题解:java】树的子结构
  10. 机器学习——评估方法