豆瓣电影(二):数据分析

本文介绍了使用Python进行豆瓣高分电影数据分析的过程,包括数据导入、数据清洗、数据可视化,涉及pandas、Numpy和Matplotlib库的使用。通过数据清洗处理电影类型,利用jieba进行分词,最后绘制了条形图、折线图、饼状图和词云图展示分析结果。
摘要由CSDN通过智能技术生成

豆瓣电影数据分析需要用到的数据文件 —> 豆瓣高分电影文件链接:https://pan.baidu.com/s/18cYvdphVOI7vT6PynDrmDA
提取码:421y

一、数据集

  豆瓣高分电影.xlsx数据集文件:
在这里插入图片描述

1.1、导入三个基础库

  Pandas: Pandas是一个强大的分析结构化数据的工具集;它的使用基础是Numpy(提供高性能的矩阵运算);用于数据挖掘和数据分析,同时也提供数据清洗功能。
  Numpy: NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。
  Matplotlib: Matplotlib 是一个 Python 的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形。

  这三个第三方库较大,pip install 第三方库名,下载的同时网络慢的小伙伴无需着急,因为pip默认使用的源为官方源,即国外的源。所以可以更换国内源来提升下载速度。例如

https://pypi.tuna.tsinghua.edu.cn/simple/ 清华
http://pypi.doubanio.com/simple/ 豆瓣
http://mirrors.aliyun.com/pypi/simple/ 阿里
https://pypi.mirrors.ustc.edu.cn/simple/ 中国科学技术大学
http://mirrors.163.com/pypi/simple/ 网易

import pandas as pd		# pip install pandas
import numpy as np		# # pip install numpy
import matplotlib as mpl 

1.2、忽略警告

  有时候运行代码时会有很多warning输出,如提醒新版本之类的等等,这不是报错,程序依然能往下运行。此时就可以使用warnings模块利用过滤器来实现忽略警告信息。

import warnings
warnings.filterwarnings('ignore')   # 不发出警告

1.3、设置字体和样式

import matplotlib as mpl
import matplotlib.style as psl

# 设置字体
mpl.rcParams['font.sans-serif'] = ['SimHei']
psl.use('ggplot')       # 样式

二、数据清洗

  基本概念: 数据清洗(Data cleaning)– 对数据进行重新审查和校验的过程,目的在于删除重复信息、纠正存在的错误,并提供数据一致性。

  导出数据: 从数据集“豆瓣高分电影.xlsx”文件中将数据提取出来。
  pd.read_csv:导出csv文件。
  pd.read_excel:导出Excel文件。
  pd.read_json:导出json文件。
  。。。等等

# 导出数据
data = pd.read_excel('豆瓣高分电影.xlsx',sheet_name='movie')     # sheet_name选择簿名

data.head(n): 查看数据前n行,不加n 即查看数据前五行。
data.tail(n): 查看数据后n行,不加n 即查看数据后五行。

print(data.head())      =
print(data.tail())

代码执行结果为:
在这里插入图片描述

2.1、缺失值

data.isnull(): 查看数据的空值:
axis=0与axis=1区别:
  使用0值表示沿着每一列或行标签/索引值向下执行方法,即沿着垂直的方向对行进行“操作;”
  使用1值表示沿着每一行或者列标签横向执行对应的方法,即沿着水平的方向对列进行“操作”。
np.sum(): 即numpy.sum(),其功能为数组沿着指定的轴求和。

# 查看缺失值
nulls = np.sum(data.isnull(),axis=0)
print(nulls)

代码执行结果,无空值缺失值。
在这里插入图片描述
若存在缺失值,dropna()删除掉即可。

# 删除缺失值
drop_ndata = data.dropna()
print(drop_ndata)

2.2、电影类型

  对指定列电影类型进行数据清洗,以达到绘图效果标准的数据。这里定义clean_type函数,传入数据以及指定列。通过第三方库jieba对数据进行分词。

2.2.1、jieba简介与安装

简介: jieba库是一个进行中文分词的第三方库。可用来进行关键字搜索。
安装: 在终端Python环境下输入:pip install jieba 进行下载;亦可在pycharm左下角的Terminal进入终端输入:pip install jieba下载。

  由于小编这里已经下载过了,则显示如下:
在这里插入图片描述

2.2.2、jieba三种分词模式

精确模式: 试图将句子最精确地切开,适合文本分析(默认是精确模式);
全模式: 把句子中所有的可以成词的词语都扫描出来, 速度非常快,有冗余,不能解决歧义;
搜索引擎模式: 在精确模式的基础上,对长词再次切分,适合用于搜索引擎分词。

import jieba
#精确模式(cut_all参数值为False表示精确模式)
accurate = jieba.cut("我遁着岁月的足迹,走过散落一地的旖旎,寻找流年深处的一季花雨。",cut_all=False)
print( "精确模式:","-".join(accurate))

#全模式(cut_all参数值为True表示全模式)
alls = jieba.cut("我遁着岁月的足迹,走过散落一地的旖旎,寻找流年深处的一季花雨。",cut_all=True)
print( "全模式:","-".join(alls))

#搜索引擎模式(粒度比较细)
search = jieba.cut_for_search("我遁着岁月的足迹,走过散落一地的旖旎,寻找流年深处的一季花雨。")
print("搜索引擎模式:","-".join(search))

代码执行结果:

精确模式:---岁月--足迹--走过-散落-一地-
  • 6
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值