
作者:Mika
数据:真达
后期:泽龙
【导读】
最近《三十而已》这部剧频频霸占微博热搜,今天我们就来聊一聊。
Python技术部分请直接看第四部分。
Show me data,用数据说话
今天我们聊一聊 《三十而已》
《乘风破浪的姐姐》已成为这个夏天最火爆的话题,前有国综"浪姐"高歌猛进,后有这部剧版"浪姐"《三十而已》让人眼前一亮。
最近微博热搜几乎都被这部剧承包了,几乎是每播一集就能上热搜的那种,让你没追剧都能知道剧情进展到哪儿了。
在这部剧中,江疏影、童瑶和毛晓彤三人携手演绎了30岁都市女性的3种人生以及所面对的3种困境。剧中各种名场面也是让这部剧彻底出圈了。
童瑶饰演的全职太太顾佳,江湖人称:许子言妈妈、散打教练、特级甜品师、情商管理专家、育儿专家、儿童心理学者、中国好闺蜜、顶级宫斗高手、幻山烟花公司幕后老。
为了保护儿子,手撕伤害儿子的人
为融入贵妇圈
掏家底也要买爱马仕鸵鸟皮Kelly28
江疏影饰演的是奢侈品店的销售王漫妮,妥妥的一名沪漂。演绎了目前社会上很多“社畜”的真实生活,生病了身边照顾自己的人都没有,只能一个人住院。
毛晓彤饰演的钟晓芹是一个普通的上海小囡nan,她的婚姻看似稳定,但与丈夫却貌合神离,一个大大咧咧神经大条,另一个沉默寡言、不愿沟通。
那么这部《三十而已》是怎么火起来的?
哪些点最戳中观众的心呢?
今天我们就来用数据带你盘一盘。
01女性角色不断霸屏
近几年这类聚焦女性的影视剧层出不穷:
美剧方面
而今年夏天,屏幕上活跃的女性身影更是不少。前有《乘风破浪的姐姐们》引发的全民讨论,之后的国产剧《二十不惑》和《三十而已》不约而同把话题指向女性的年龄问题。
02《三十而已》怎么突然火了
一开始也许没人想到,这样一部聚焦女性角度的国产都市剧能在这个夏天彻底火了。看到百度指数,对比同期播出也是围绕女性话题的《二十不惑》,《三十而已》的热度和搜索度都要高出很多,从7月17日首播起热度就高居不下。
目前微博话题《三十而已》阅读量达到42.2亿,讨论达到148.8万。该剧也频频霸占微博热搜,几乎更新一集就会有新的热搜,让你忍不住去追剧。
看剧中,你会折服于顾佳的强大家庭女性人设;
剧中钟晓芹的老公陈屿是非常有争议的角色。他在婚姻中对妻子不关心不沟通的态度让很多人气愤不已,一度微博话题被#陈屿气死#还上了热搜。
甚至还有像“众盼芹离”这样的词都出来了。
03《三十而已》中是什么最戳中观众的心?
1豆瓣数据
接着我们分析了豆瓣的短评数据。目前这部剧豆瓣上共有4万2千余人进行评分,分数为8分。在国产剧中是很不错的成绩了。
在评分方面,我们以其中500条数据为代表。
评论中提到最多的主演
我们进行排序发现位居首位的是王漫妮,然后是顾佳和钟晓芹。
豆瓣小组主演话题热度
对比一下在《三十而已》的豆瓣小组里,讨论话题度最高的就属陈屿了。
豆瓣评论词云
豆瓣评论中主要围绕的关键词有"女性"、"剧情"、"喜欢"等方面。演员中"江疏影"、"童瑶"也被多次提到。
2腾讯视频弹幕
接下来我们还分析整理了腾讯视频弹幕数据,目前共出了 15集,共整理了271049条弹幕。
首先,看到用户在发弹幕时最喜欢选用的角色标签排名:
用户喜欢用的弹幕角色
其中王漫妮排名第一,顾佳、钟晓芹分别位居二三。这方面与豆瓣一致。男性角色排名是陈屿以及许幻山。
再看到不同角色的弹幕词云:
王漫妮弹幕词云
江疏影饰演的王漫妮讨论度很高,这也与演员的演技和本身的人气是分不开的。气质这块拿捏的死死的,而且作为奢侈品店销售,王漫妮在话术和专业度上也让人感觉很真实。
顾佳弹幕词云
下面是童瑶饰演的全职太太顾佳。顾佳谐音这个名字照顾家庭,不仅要照顾孩子,把家里打理的井井有条,还有扶持老公的烟花公司,这个女人实在是太不一般了。关键词中 "厉害"、"聪明"、"完美"被多次提到。
钟晓芹弹幕词云
钟晓芹作为普通的上海本地小姑娘,性格"单纯可爱"。而面对一点也不善解人意的老公,弹幕中感叹"怎么还不离婚"的也特别多。
陈屿弹幕词云
陈屿和许幻山两个丈夫都有各自的问题。陈屿性格冷漠,关心自己养的鱼胜过老婆。
许幻山弹幕词云
许幻山是纯粹的烟花设计艺术家,在公司运营方面显得"幼稚",不懂"人情世故",这些方面还真不如他的老婆顾佳。
04如何用Python获取弹幕数据
我们使用Python获取并分析了《三十而已》的腾讯弹幕数据,来分析看看哪个角色最受欢迎。分析流程分为以下几步:
1 数据读入
首先导入所需包。
# 导入库 import os import jieba import numpy as np import pandas as pd from pyecharts.charts import Bar, Pie, Line, WordCloud, Page from pyecharts import options as opts from pyecharts.globals import SymbolType import stylecloud from IPython.display import Image # 用于在jupyter lab中显示本地图
然后使用pandas循环读取数据。
# 读入数据 data_list = os.listdir('../data/') df_all = pd.DataFrame() for i in data_list: # 判断 if i.split('.')[-1] == 'csv': df_one = pd.read_csv(f'../data/{i}', engine='python', encoding='utf-8', index_col=0) df_all = df_all.append(df_one, ignore_index=False) df_all.info()
pandas.core.frame.dataframe'> Int64Index: 271049 entries, 0 to 17637 Data columns (total 7 columns): # Column Non-Null Count Dtype --- ------ -------------- ----- 0 episodes 271049 non-null int64 1 comment_id 271049 non-null int64 2 oper_name 139035 non-null object 3 vip_degree 271049 non-null int64 4 content 271049 non-null object 5 time_point 271049 non-null int64 6 up_count 271049 non-null int64 dtypes: int64(5), object(2) memory usage: 16.5+ MB pandas.core.frame.dataframe'>
此次一共获取了15集2271049条弹幕数据,每集平均18069条,按照每集平均45分钟计算,每分钟平均401条弹幕,数据预览如下:
豆瓣数据# 提取数据 pattern = r'(王漫妮\s*|钟晓芹\s*|顾佳\s*|陈屿\s*|许幻山\s*|飒飒\s*|浪浪\s*):.*' df_all['danmu_role'] = df_all['content'].str.extract(pattern)[0].str.strip() # 定义函数 def transform_name(x): if x=='王漫妮' or x=='顾佳' or x=='钟晓芹' or x=='陈屿' or x=='许幻山' or x=='飒飒' or x=='浪浪': return 'VIP用户' elif x=='NaN': return '未知用户' else: return '普通用户' df_all['danmu_level'] = df_all['danmu_role'].apply(transform_name) df_all.head()
2 数据预处理
此处对弹幕角色和VIP用户进行处理。
豆瓣数据# 提取数据 pattern = r'(王漫妮\s*|钟晓芹\s*|顾佳\s*|陈屿\s*|许幻山\s*|飒飒\s*|浪浪\s*):.*' df_all['danmu_role'] = df_all['content'].str.extract(pattern)[0].str.strip() # 定义函数 def transform_name(x): if x=='王漫妮' or x=='顾佳' or x=='钟晓芹' or x=='陈屿' or x=='许幻山' or x=='飒飒' or x=='浪浪': return 'VIP用户' elif x=='NaN': return '未知用户' else: return '普通用户' df_all['danmu_level'] = df_all['danmu_role'].apply(transform_name) df_all.head()
3 数据可视化
level_num = df_all['danmu_level'].value_counts() data_pair = [list(z) for z in zip(level_num.index.tolist(), level_num.values.tolist())] # 绘制饼图 pie1 = Pie(init_opts=opts.InitOpts(width='1350px', height='750px')) pie1.add('', data_pair, radius=['35%', '60%']) pie1.set_global_opts(title_opts=opts.TitleOpts(title='弹幕发送人群等级分布'), legend_opts=opts.LegendOpts(orient='vertical', pos_top='15%', pos_left='2%')) pie1.set_series_opts(label_opts=opts.LabelOpts(formatter="{b}:{d}%")) pie1.set_colors(['#6FB27C', '#FFAF34']) pie1.render()
role_num = df_all['danmu_role'].value_counts() role_num.drop(['飒飒', '浪浪'], inplace=True) # 柱形图 bar1 = Bar(init_opts=opts.InitOpts(width='1350px', height='750px')) bar1.add_xaxis(role_num.index.tolist()) bar1.add_yaxis("", role_num.values.tolist(), category_gap='5%') bar1.set_global_opts(title_opts=opts.TitleOpts(title="VIP用户最喜欢使用的弹幕角色"), visualmap_opts=opts.VisualMapOpts(max_=21027), ) bar1.render()
content_series1 = df_all[df_all.content.str.replace(pattern, '').str.contains('漫妮|疏影')]['content'] text1 = get_cut_words(content_series1) # 绘制词云图 stylecloud.gen_stylecloud(text=' '.join(text1), max_words=1000, collocations=False, font_path=r'C:\Windows\Fonts\msyh.ttc', icon_name='fas fa-heart', size=653, output_name='./html/弹幕角色王漫妮-词云图.png')
结语:
一直以来在世俗的眼光下,婚姻、事业、家庭,是30+女性绕不开的话题。年过三十,不是结婚生子,就是在结婚生子的路上,但对于没有结婚的很可能被称“大龄剩女”。
近年来,关于女性年龄的讨论更是被推到了风口浪尖。综艺《浪姐》播出后,看到一位位30+的女嘉宾在舞台上"兴风作浪",弹幕中有女生留言“好像没那么害怕变老了“而《三十而已》更是展现了30+女性的不同生活状态和机遇,其实女性的人生,不应该被年龄所定义。
三十而已,年华正好!
无论哪个年龄阶段都有不同的精彩!
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
SQL Server 中 CONVERT 函数的日期转换:从基础用法到实战优化 在 SQL Server 的数据处理中,日期格式转换是高频需求 —— 无论 ...
2025-09-18MySQL 大表拆分与关联查询效率:打破 “拆分必慢” 的认知误区 在 MySQL 数据库管理中,“大表” 始终是性能优化绕不开的话题。 ...
2025-09-18CDA 数据分析师:表结构数据 “获取 - 加工 - 使用” 全流程的赋能者 表结构数据(如数据库表、Excel 表、CSV 文件)是企业数字 ...
2025-09-18DSGE 模型中的 Et:理性预期算子的内涵、作用与应用解析 动态随机一般均衡(Dynamic Stochastic General Equilibrium, DSGE)模 ...
2025-09-17Python 提取 TIF 中地名的完整指南 一、先明确:TIF 中的地名有哪两种存在形式? 在开始提取前,需先判断 TIF 文件的类型 —— ...
2025-09-17CDA 数据分析师:解锁表结构数据特征价值的专业核心 表结构数据(以 “行 - 列” 规范存储的结构化数据,如数据库表、Excel 表、 ...
2025-09-17Excel 导入数据含缺失值?详解 dropna 函数的功能与实战应用 在用 Python(如 pandas 库)处理 Excel 数据时,“缺失值” 是高频 ...
2025-09-16深入解析卡方检验与 t 检验:差异、适用场景与实践应用 在数据分析与统计学领域,假设检验是验证研究假设、判断数据差异是否 “ ...
2025-09-16CDA 数据分析师:掌控表格结构数据全功能周期的专业操盘手 表格结构数据(以 “行 - 列” 存储的结构化数据,如 Excel 表、数据 ...
2025-09-16MySQL 执行计划中 rows 数量的准确性解析:原理、影响因素与优化 在 MySQL SQL 调优中,EXPLAIN执行计划是核心工具,而其中的row ...
2025-09-15解析 Python 中 Response 对象的 text 与 content:区别、场景与实践指南 在 Python 进行 HTTP 网络请求开发时(如使用requests ...
2025-09-15CDA 数据分析师:激活表格结构数据价值的核心操盘手 表格结构数据(如 Excel 表格、数据库表)是企业最基础、最核心的数据形态 ...
2025-09-15Python HTTP 请求工具对比:urllib.request 与 requests 的核心差异与选择指南 在 Python 处理 HTTP 请求(如接口调用、数据爬取 ...
2025-09-12解决 pd.read_csv 读取长浮点数据的科学计数法问题 为帮助 Python 数据从业者解决pd.read_csv读取长浮点数据时的科学计数法问题 ...
2025-09-12CDA 数据分析师:业务数据分析步骤的落地者与价值优化者 业务数据分析是企业解决日常运营问题、提升执行效率的核心手段,其价值 ...
2025-09-12用 SQL 验证业务逻辑:从规则拆解到数据把关的实战指南 在业务系统落地过程中,“业务逻辑” 是连接 “需求设计” 与 “用户体验 ...
2025-09-11塔吉特百货孕妇营销案例:数据驱动下的精准零售革命与启示 在零售行业 “流量红利见顶” 的当下,精准营销成为企业突围的核心方 ...
2025-09-11CDA 数据分析师与战略 / 业务数据分析:概念辨析与协同价值 在数据驱动决策的体系中,“战略数据分析”“业务数据分析” 是企业 ...
2025-09-11Excel 数据聚类分析:从操作实践到业务价值挖掘 在数据分析场景中,聚类分析作为 “无监督分组” 的核心工具,能从杂乱数据中挖 ...
2025-09-10统计模型的核心目的:从数据解读到决策支撑的价值导向 统计模型作为数据分析的核心工具,并非简单的 “公式堆砌”,而是围绕特定 ...
2025-09-10