python数据分析论文报告电影_一个实战案例带你走完python数据分析全流程:豆瓣电影评论的关键词云图制作...
用python做数据处理流程大致可以分成以下三个部分:
一、数据的获取:一般可以有公开的数据集、网络爬虫、自己整理等方式。
二、数据的处理:包括数据的预处理、数据的查找/筛选/排序/统计等操作。
三、数据的展示:包括图、表等可视化呈现。
下面用一个电影评论的关键词云图制作为例,来演示这个数据处理的全流程。在这个例子中,我们将用到以下工具包:
import pandas as pd # 数据处理工具pandas
import sqlite3 # sql数据库工具
import jieba # 文本分词工具jieba
import pyecharts as pec # 数据可视化工具pyecharts
from pyecharts.charts import WordCloud # 导入WordCloud词云图模块
from pyecharts.render import make_snapshot # 导入输出图片工具
from snapshot_selenium import snapshot # 使用snapshot-selenium 渲染图片
一、数据的获取。
我们可以下载到豆瓣的数据库,这个douban_comment_data.db数据库中包含三个表:comment、movie、movie_chinese。具体详见博文通过movie_id来查询数据库获取电影名字和平均得分我们
我们使用sql语句来读取所需要的数据表存放在comment_data中。可以参考博文python对sql数据库文件的基本操作。
conn = sqlite3.connect('data/douban_comment_data.db')
comment_data = pd.read_sql_query('select * from comment;',conn)
二、数据的处理
这里我们编写了一个函数get_comment_key_words(movie_id,count)来对数据库中的数据进行处理,参数包括电影的id(movie_id)和需要获得的热门关键的数量count。我们这里采用了pandas技术中的筛选技术(参考博文python中DataFrame数据的筛选)
字符串的拼接技术(参考博文使用“+”完成python中的字符串拼接),jieba分词技术(参考博文:基于jieba模块的数据分析)
等等。
def get_comment_key_words(movie_id,count):
comment_list = comment_data[comment_data['MOVIEID']==movie_id]['CONTENT']
comment_str = ""
for comment in comment_list:
comment_str += comment + '\n'
seg_list = list(jieba.cut(comment_str))
keywords_counts = pd.Series(seg_list)
keywords_counts = keywords_counts[keywords_counts.str.len()>1]#注意这里需要先筛选再value_count()
filtered_index = ~keywords_counts.str.contains(filter_condition)
keywords_counts = keywords_counts[filtered_index]
keywords_counts = keywords_counts.value_counts()
keywords_counts = keywords_counts[:count]
return keywords_counts
注意我们这里在进行过滤处理的时候,用到了FILTER_WORDS的技术,原理是把一些高频的无意义的词过滤掉。我们首先需要建立一个列表,里面存放着一系列的待过滤词组。然后使用字符串的.join()方法把这些过滤词组用或运算符“|”把他们联结起来,成为一个或表达式,然后使用.str.contains()方法获取满足这些条件的数据索引值,对其求反就可以获得过滤后的索引了。
FILTER_WORDS = ['真个','那里','不知','两个','这么','那么','怎么','如果',
'是','的','这个','一个','这种','时候','什么','\n','一部','这部','没有',
'还有','因为','只见','甚么','原来','不敢','如何','不曾','闻言','那怪','一声',
'出来','...','却说','片子','可以','不得','无法','这样','可能','最后','我们','东西',
'现在','那个','所以','一直','也许','电影','它们','不能','这里','今日',"觉得",'is','感觉']
filter_condition = '|'.join(FILTER_WORDS)
filtered_index = ~keywords_counts.str.contains(filter_condition)
keywords_counts = keywords_counts[filtered_index]
要注意的是,我们需要在完成过滤操作之后,再进行value_count操作(参考博文使用data.value_counts()方法对Series数组中的重复元素进行统计),然后通过切片的方法去除前count个热门词汇就完成了我们需要的数据的提取。
三、数据的可视化。
这里我们采用词云图图的方式来进行展示,原理参考博文基于pyechart的词云可视化展示。默认会生成html在浏览器中才能看到,我们采用make_snapshot技术直接生成png图片(参考博文python中使用pyecharts直接绘制png图片)
我们最后运行代码,可以在工程目录下得到png文件,打开之后,就得到了movie_id为"1292052",也就是《肖申克的救赎》这部电影的Top30热门词汇。
梧桐雪
发布了151 篇原创文章 · 获赞 6 · 访问量 4005
私信
关注
标签:comment,python,movie,云图,豆瓣,keywords,import,counts,data
来源: https://blog.csdn.net/weixin_41855010/article/details/104463165
python数据分析论文报告电影_一个实战案例带你走完python数据分析全流程:豆瓣电影评论的关键词云图制作...相关推荐
- 一个实战案例带你走完python数据分析全流程:豆瓣电影评论的关键词云图制作
用python做数据处理流程大致可以分成以下三个部分: 一.数据的获取:一般可以有公开的数据集.网络爬虫.自己整理等方式. 二.数据的处理:包括数据的预处理.数据的查找/筛选/排序/统计等操作. 三. ...
- Python实战案例:旅游方面博文的数据分析
Python实战案例:旅游方面博文的数据分析 一.旅游方面博文数据展示 数据分析的出现便利了每个人,企业,竞争者.在以前的时候,如果想要了解市场的动向,就设计了调查问卷或者现场采访的方式,以至于被很多 ...
- Methodot低代码电影票房管理系统实战案例(二):前端低代码搭建系统后台
本次系统后台实战将使用Methodot应用工厂中的前端低代码组件完成搭建,无需注册域名.购买云服务器.虚拟机等,可在Methodot云端一体化完成开发.交付.访问.运维,3s即可部署至线上 免运维,在 ...
- python爬虫项目实训报告背景_项目实战 | Python爬虫概述与实践(一)
目录 1 定义 2 分类 3 基本流程 4总结 1 定义 爬虫,又称为网络蜘蛛.网络机器人等,简单来说,就是请求网站并提取数据的自动化程序,可以代替人工在互联网上收集数据. 2 分类 通用网络爬虫 搜 ...
- python人工智能方向面试准备_人工智能实战就业(面试)学习路线图
这个项目是干什么的? 整理这个项目的初衷是方便同学们快速开启人工智能自学计划,在学习过程中少走弯路用最快的效率入门Ai并开始实战项目, 提供了近200个Ai实战案例和项目,这些并不是网上搜集来的,而是 ...
- gis可达性分析步骤_这个 Python 项目厉害了!多个实战案例教你分析时空数据处理...
大数据时代到来,随着数据的逐步开放,数据工作者们或多或少都要接触到时空数据.在处理时空数据的时候,你不仅要数据处理,还需要会GIS,最重要的它是一门艺术,要用你的审美,要出很好看的可视化图! 以前,我 ...
- python社区发现_这个 Python 项目厉害了!多个实战案例教你分析时空数据处理
大数据时代到来,随着数据的逐步开放,数据工作者们或多或少都要接触到时空数据.在处理时空数据的时候,你不仅要数据处理,还需要会GIS,最重要的它是一门艺术,要用你的审美,要出很好看的可视化图! 以前,我 ...
- 项目介绍star原理_这个 Python 项目厉害了!多个实战案例教你分析时空数据处理...
大数据时代到来,随着数据的逐步开放,数据工作者们或多或少都要接触到时空数据.在处理时空数据的时候,你不仅要数据处理,还需要会GIS,最重要的它是一门艺术,要用你的审美,要出很好看的可视化图! 以前,我 ...
- python收集论文数据造假_现在的学术论文里存在数据造假的情况吗?
曾有人通过数据造假,在最难忽悠的物理学界骗倒了一众学术大牛,甚至在<科学>.<自然>两大权威期刊上频频发表文章. 这个数据造假的高手就是德国的物理学家舍恩. 我们把镜头拉回到 ...
- python中setup什么意思_一个关于python3中setup.py小概念
一个关于setup.py小概念 关于 python setup.py bdist python setup.py sdist 两者的区别 sdist 指的是source dist 即源码发布,带 ...
最新文章
- ios 开发中 动态库 与静态库的区别
- JQuery插件:ScrollTo平滑滚动到页面指定位置
- doT.js灵活运用之嵌入使用
- python 中国社区_python
- SPI分配传感器的寄存器
- jQuery.extend() 使用语法详解
- Linux的简介与虚拟机的管理
- 对于计算机网络技术的课程,计算机网络技术课程剖析.doc
- python的pygame库使用方法_[宜配屋]听图阁
- 如何利用python将mp4文件转换为gif文件 + 代码分享 另附在线转换网址
- 准确率(accuracy),精确率(Precision),召回率(Recall)和F1-Measure
- Java Web开发学习手册_Java Web实战开发完全学习手册
- 服务器雷达信号处理,雷达信号处理的信息几何方法
- 计算机网络基础知识 - 物理层
- 毕业后,重装电脑系统,我的资料备份
- 决策树算法的Python实现—基于金融场景实操
- ssh无密码登录原理和配置方法
- java项目 科学计算器_结对项目-增强型科学计算器
- android对cpu硬件要求,Android手机想用64位处理器?系统阻碍
- 计算机桌面来回闪烁,电脑进去桌面就一直闪