《长安十二时辰》 6 月 27 日上映,豆瓣评分首日便达到了 8 分,热度并不低于当下热播的每一部剧。今天主要是对我用 Python 采集的豆瓣影评进行简单的可视化分析。
主要从五个方面分析:

  • 全国观众地域分布
  • 观众地域排行榜
  • 短评词云图
  • 评论数量与日期的关系
  • 各评分占比
  • 观众情感分析
  • 各评分占比

下面是分析的整个过程

一、理解数据

本数据集来源豆瓣,由于豆瓣在非登录状态下仅仅可以爬取200条短评,登录状下也只能可以爬取500条数据,所以数据集只有 500 条评论。包括:

  • 观众id
  • 观众评论
  • 观众地域
  • 评论日期
  • 推荐指数

二、处理数据

# 导入相关库
import pandas as pd
import matplotlib.pyplot as plt
import jieba
import re
import warnings
from pyecharts.charts import  Geo, Line, Pie, Bar
from pyecharts.globals import ChartType, SymbolType
from pyecharts.globals import ThemeType
from chinese_province_city_area_mapper.transformer import CPCATransformer
from wordcloud import WordCloud, STOPWORDS, ImageColorGenerator
from snownlp import SnowNLPwarnings.filterwarnings('ignore')
%matplotlib inline

1. 数据加载

df1 = pd.read_csv(r'C:\Users\86134\Desktop\douban\comments.csv')
df2 = pd.read_csv(r'C:\Users\86134\Desktop\douban\cities.csv')
df = pd.merge(df1, df2, left_index=True, right_index=True, how='outer')

2.数据探索

df.info()

df.head()


因为我打算按照国内城市分析,所以将国外,以及省分去掉

def city_process(line):city = re.compile('[^\u4e00-\u9fa5]') # 中文编码范围\u4e00到\u9fa5# 取出中文字符,返回列表zh = re.split(city, line)zh = zh[-1]return zh
df['city'] = df['city'].apply(city_process)
cpca = CPCATransformer()
df['city'] = cpca.transform(df.city)['市']
df.head()


发现城市有缺失,将其过滤

df1 = df[df['city'] != '']
df1.head()

观众地域分布

def geo_base() -> Geo:c = (Geo().add_schema(maptype="china").add("geo", data).set_series_opts(label_opts=opts.LabelOpts(is_show=False)).set_global_opts(visualmap_opts=opts.VisualMapOpts(),title_opts=opts.TitleOpts(title="长安十二时辰观众地域分布",subtitle='数据来源:豆瓣电影'),))return c
geo_base().render('长安十二时辰观众地域分布.html')
geo_base().render_notebook()


颜色越深代表该地的观众越多,从地图中可以看出,观众较多的都是几个一线城市,如北京,上海,杭州,广州,原因可能是这些地区的经济消费都较高,追星的人数也相应的更多(四字弟弟领衔主演)。

观众 Top10 地域排行榜单

bar = (Bar(init_opts=opts.InitOpts(theme=ThemeType.WALDEN)).add_xaxis(attr[:10]).add_yaxis("城市", value[:10]).set_global_opts(title_opts=opts.TitleOpts(title="观众地域排行榜单", subtitle="数据来源:豆瓣 "))
)
bar.render('观众地域排行榜单.html')
bar.render_notebook()

  • 观众人数排名前 10 的城市,北京观众最多,果然是帝都,让人意外的是成都位列第三,居然超过了广州和深圳,也可能是因为数据源太少了,数据中很多观众都没有城市信息。

评论词云图

comment_cut = ''
comments = df['comment'].tolist()for comment in comments:comment = jieba.cut(comment)comment = ' '.join(comment)comment_cut += comment
# 加载停用词,也可以从网上下载 stopwords.txt
stopwords = STOPWORDS.copy()
stopwords.update(['长安', '十二', '这种', '完全', '最后', '但是', '这个', '还是','时辰','千玺''有点', '电影', '希望', '没有', '就是', '什么', '觉得', '其实','不是', '真的', '感觉', '因为', '这么', '很多', '已经', '一个','这样', '一部', '非常', '那么', '作为', '个人', '基本', '只能','真是', '应该', '不能', '尤其', '可能', '确实', '只是', '一点'
])
wc = WordCloud(width=1024,height=768,background_color='white',font_path='Users/wangyutian/Library/Fonts/simhei.ttf',stopwords=stopwords,max_font_size=400,random_state=50)
wc.generate_from_text(comment_cut)
plt.figure(figsize=(16, 8))
plt.imshow(wc)
plt.axis('off')
wc.to_file('wordcloud.png')
plt.show()

  • 词云图来看,观众对这部剧评价还可以。看到大家评论最多的就是 “台词” 和 “千玺”,观众中有很多易烊千玺的粉丝啊,说明之前的观众地域分布图是合理的。
  • 还有个发现就是很多公众号都说这部剧对唐朝还原度很高,可是从词云图来看,也就一般般啊。

观众评论数量与日期的关系

  • 从评论的日期可以看出,上映前两天的评论数较多,之后开始呈下降趋势
  • 上映前三天都有一定的推荐人数,但是第二天差评人数明显居多,30号之后基本没有推荐人数
  • 总体来说热度在下降

基于 Snownlp 的观众情感分析


0.5 以下为消极,0.5 以上为积极。从观众情感分析图看,大部分都是正面的评价。

各评分占比

从这份数据来看,《长安十二时辰》口碑还是不错的,但没有网传的那么夸张,好评和差评都没有呈现出压倒的优势,但从词云图来看,好评的观众中可能四字弟弟的粉丝比较多,所以这部分观众点评时存在主观性较强的可能。

全部代码
https://github.com/DongDongGe1/changan12hours

四字弟弟领衔主演的《长安十二时辰》数据可视化分析相关推荐

  1. 程序员看《长安十二时辰》的正确姿势~!

    听说最近<长安十二时辰>比较火,于是趁着一个周末赶紧补一补剧.相信很多人都对其中的"大案牍术"比较感兴趣,靖安司说"大案牍术"选中了张小敬. 看到这 ...

  2. 程序员爬取 3 万条评论,《长安十二时辰》槽点大揭秘!

    作者 | Alfred Wu 责编 | 伍杏玲 本文经授权转载自Alfred数据室(ID:Alfred_Lab) 最近,悄悄上线的<长安十二时辰>在朋友圈被吹爆了:年度最佳古装剧.服道化精 ...

  3. 《长安十二时辰》利用大数据破案?

    "大案牍术"技术放到今天就是"大数据".<长安十二时辰>里"大案牍术"可以帮助破案,现在的"大数据比对"照样 ...

  4. 用 Python 分析《长安十二时辰》

    图/长安十二时辰  文/爱写bug 小说: 先从小说开始,小说原著中没有李必,而是李泌. 主要人物名字是从网上搜的: ['李泌','张小敬','龙波','姚汝能','曹破延','元载','伊斯','葛 ...

  5. 从豆瓣看《长安十二时辰》如何成为爆款IP?

    猝不及防,<长安十二时辰>火了. "习惯2倍速看剧的我恨不得0.5倍看这部剧" "本年度最佳古装黑马,下一个<琅琊榜>-" 大票网友卖力 ...

  6. 豆瓣8.6分的《长安十二时辰》,为什么有人却并不喜欢?

    作者 | AlfredWu 来源 | Alfred数据室(ID:Alfred_Lab) 最近,悄悄上线的<长安十二时辰>在朋友圈被吹爆了:年度最佳古装剧.服道化精致.电影质感.良心剧等赞美 ...

  7. python黑客库长安十二时辰 更新_爬取3万+评论,告诉你究竟是哪些人不喜欢《长安十二时辰》?...

    作者:AlfredWu 最近,悄悄上线的<长安十二时辰>在朋友圈被吹爆了:年度最佳古装剧.服道化精致.电影质感.良心剧等赞美的声音不绝于耳.该剧首播时在豆瓣拿到了8.8的高分,但是,随着剧 ...

  8. python黑客库长安十二时辰 更新_程序员爬取 3 万条评论,《长安十二时辰》槽点大揭秘!...

    该剧总体评价如何? 优酷给<长安十二时辰>打出了8.8的高分(首播时为9.0分).该剧在豆瓣.IMDB.时光网等平台分别收获了8.6.8.5.8.4分,这足以说明该剧总体评价还是不错的. ...

  9. ‘大案牍术’告诉你为什么《长安十二时辰》这么火!

    注:本人参考猪哥公众号"裸睡的猪"公众号爬虫文章. 一.功能描述 想用我们现代的大案牍术来分析一下<长安十二时称>这部电视剧到底为什么会火,大家都对这部电视剧的评价是什 ...

最新文章

  1. 计算机视觉与深度学习 | 使用K均值聚类实现基于颜色的分割(matlab版)
  2. python(matplotlib5)——Contours 等高线图
  3. Hibernate环境搭建以及HelloWorld
  4. Spark笔记:RDD基本操作(下)
  5. 历届试题 大臣的旅费(深搜 树的直径)
  6. HTML与CSS(图解6):超链接
  7. static代码块什么时候运行_健康的代码:什么时候该注释?
  8. php反选全选代码,jQuery中实现全选,反选实例代码 (推荐)
  9. redis 失效时间单位是秒还是毫秒_redis分布式锁的这些坑,我怀疑你是假的开发...
  10. How to scale the BERT Training with Nvidia GPUs?
  11. Visual Studio 2010 (ASP.Net 4.0)新功能一览(转载)
  12. 地址解析:使用Google API将地址文本转换为经纬度
  13. hdu2017沈阳网络赛card(结论水题)
  14. icpc 2019 沈阳区域赛
  15. 【传感器】BMA253 数字,三轴加速度传感器
  16. 我为什么不要应届毕业生
  17. 非常棒的口才训练方法
  18. 【艾琪出品】《计算机应用基础》【试题汇总10】
  19. X64dbg-插件基本原理-加载顺序-概述-主目录
  20. AVRWARE++开发笔记8:Atmel Studio去除拼写检查

热门文章

  1. mysql inner join 长数字_关于mysql inner join 链接查询的优化
  2. oh-my-zsh,让你的Linux命令终端从未这么爽过
  3. 新浪短连接免费接口thnkphp
  4. STM32MP153 Ubuntu系统移植到ST的STM32MP157-DK2记录
  5. RNA修饰质谱检测|dextran-siRNA 葡聚糖化学偶联DNA/RNA|siRNA-PLGA聚乳酸-羟基乙酸共聚物修饰核糖核酸
  6. 奈何天(电影刀锋 1937)铃声 奈何天(电影刀锋 1937)手机铃声免...
  7. Java初学日记七之系统异常类
  8. python人脸识别基于mtcnn和facenet考勤
  9. 信驰达推出RTL8720DN系列2.4G和5G双频Wi-Fi+蓝牙二合一模块
  10. Solve Error: 'has incomplete type', foward declaration of 'class x'