京公网安备 11010802034615号
经营许可证编号:京B2-20210330
作者: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
当沃尔玛数据分析师首次发现 “啤酒与尿布” 的高频共现规律时,他们揭开了数据挖掘最迷人的面纱 —— 那些隐藏在消费行为背后 ...
2025-11-03这个问题精准切中了配对样本统计检验的核心差异点,理解二者区别是避免统计方法误用的关键。核心结论是:stats.ttest_rel(配对 ...
2025-11-03在 CDA(Certified Data Analyst)数据分析师的工作中,“高维数据的潜在规律挖掘” 是进阶需求 —— 例如用户行为包含 “浏览次 ...
2025-11-03在 MySQL 数据查询中,“按顺序计数” 是高频需求 —— 例如 “统计近 7 天每日订单量”“按用户 ID 顺序展示消费记录”“按产品 ...
2025-10-31在数据分析中,“累计百分比” 是衡量 “部分与整体关系” 的核心指标 —— 它通过 “逐步累加的占比”,直观呈现数据的分布特征 ...
2025-10-31在 CDA(Certified Data Analyst)数据分析师的工作中,“二分类预测” 是高频需求 —— 例如 “预测用户是否会流失”“判断客户 ...
2025-10-31在 MySQL 实际应用中,“频繁写入同一表” 是常见场景 —— 如实时日志存储(用户操作日志、系统运行日志)、高频交易记录(支付 ...
2025-10-30为帮助教育工作者、研究者科学分析 “班级规模” 与 “平均成绩” 的关联关系,我将从相关系数的核心定义与类型切入,详解 “数 ...
2025-10-30对 CDA(Certified Data Analyst)数据分析师而言,“相关系数” 不是简单的数字计算,而是 “从业务问题出发,量化变量间关联强 ...
2025-10-30在构建前向神经网络(Feedforward Neural Network,简称 FNN)时,“隐藏层数目设多少?每个隐藏层该放多少个神经元?” 是每个 ...
2025-10-29这个问题切中了 Excel 用户的常见困惑 —— 将 “数据可视化工具” 与 “数据挖掘算法” 的功能边界混淆。核心结论是:Excel 透 ...
2025-10-29在 CDA(Certified Data Analyst)数据分析师的工作中,“多组数据差异验证” 是高频需求 —— 例如 “3 家门店的销售额是否有显 ...
2025-10-29在数据分析中,“正态分布” 是许多统计方法(如 t 检验、方差分析、线性回归)的核心假设 —— 数据符合正态分布时,统计检验的 ...
2025-10-28箱线图(Box Plot)作为展示数据分布的核心统计图表,能直观呈现数据的中位数、四分位数、离散程度与异常值,是质量控制、实验分 ...
2025-10-28在 CDA(Certified Data Analyst)数据分析师的工作中,“分类变量关联分析” 是高频需求 —— 例如 “用户性别是否影响支付方式 ...
2025-10-28在数据可视化领域,单一图表往往难以承载多维度信息 —— 力导向图擅长展现节点间的关联结构与空间分布,却无法直观呈现 “流量 ...
2025-10-27这个问题问到了 Tableau 中两个核心行级函数的经典组合,理解它能帮你快速实现 “相对位置占比” 的分析需求。“index ()/size ( ...
2025-10-27对 CDA(Certified Data Analyst)数据分析师而言,“假设检验” 绝非 “套用统计公式的机械操作”,而是 “将模糊的业务猜想转 ...
2025-10-27在数字化运营中,“凭感觉做决策” 早已成为过去式 —— 运营指标作为业务增长的 “晴雨表” 与 “导航仪”,直接决定了运营动作 ...
2025-10-24在卷积神经网络(CNN)的训练中,“卷积层(Conv)后是否添加归一化(如 BN、LN)和激活函数(如 ReLU、GELU)” 是每个开发者都 ...
2025-10-24