IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 数据分析案例:统计电影分类情况 -> 正文阅读

[Python知识库]数据分析案例:统计电影分类情况

本文通过一个电影分类统计的案例来对python数据分析形成一个初步的理解。以下是我在写代码时记录下的一些东西。

数据来源:IMDB data from 2006 to 2016 | Kaggle

取消PyCharm在打印时数据的省略

复制下面两行代码放在最前面即可

# 取消行和列的省略
pd.set_option('display.max_columns', None)
pd.set_option('display.max_rows', None)

将分类一栏的数据展开成一维数组

26行的temp_type_list是一个列表,每一项也是一个列表,每一个列表项存放每一部电影的分类信息。

在30行中使用两层循环将temp_type_list展开成一位数组。

对分类信息计数

首先要拿出一组数据表示这些电影有哪几种分类,这里就用到了set集合这个数据类型不重复的特性(34行)。

因为一部电影不会有两个一样的分类信息,所以在30行的type_list(统计出来的电影的所有分类信息,有重复)中直接进行每种分类的计数即可,这里定义一个函数CountItemNum(item,list)以方便后面代码使用。

38行的genre_count_list为数量的列表,与genre_list中分类一一对应。

生成数据图

使用条形图或直方图(plt.hist()),0轴为分类名,1轴为该分类的电影数量。

(因为前面使用了set集合,集合具有无序性,每一次运行的时候数据图中的数据顺序不一样,但数量对应上了,问题不大)

Code

import numpy as np
import pandas as pd
from matplotlib import pyplot as plt

# 取消行和列的省略
pd.set_option('display.max_columns', None)
pd.set_option('display.max_rows', None)


###########################################
def CountItemNum(item_1, list_1):
    count_num = 0
    for i in list_1:
        if i == item_1:
            count_num += 1
    return count_num


movieDataFile = 'dataFiles/IMDB-Movie-Data.csv'
mov_df = pd.read_csv(movieDataFile)

print(mov_df.head(1))
# print(mov_df['Genre'])

# 获得电影分类列表
temp_type_list = mov_df['Genre'].str.split(',').tolist()
print(temp_type_list)

# 所有分类的列表(重复)
type_list = [i for j in temp_type_list for i in j]
print(type_list)

# 所有分类的列表(不重复)
genre_list = list(set(type_list))
print(genre_list)

# 分类对应的数量
genre_count_list = []
for item in genre_list:
    # item为分类名,由于一部电影不会有两个一样的分类名,直接计数即可
    genre_count_list.append(CountItemNum(item, type_list))

print(genre_count_list)

# 生成数据图
matFont = {
    'family': 'Microsoft Yahei'
}
plt.rc('font', **matFont)

plt.figure(figsize=(20, 8), dpi=80)
plt.bar(genre_list, genre_count_list, color='pink') # 生成条形图
plt.xticks(genre_list)

plt.show()


  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-09-10 10:48:01  更:2021-09-10 10:48:14 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 14:00:58-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码