Datagrip-可视化原神角色弹幕数据

原神角色弹幕可视化

根据原神2023年五星男性角色PV弹幕感情和高频词分析——艾尔海森以及原神2023年五星男性角色PV弹幕分析——艾尔海森,我们可以生成包含弹幕内容和感情得分的xls文件
在这里插入图片描述
同样,通过爬虫和数据清洗我们可以得到原神男性角色白术的角色PV发布当天的xls文件
在这里插入图片描述

数据处理

我们利用pandas对两个xls文件进行拼接并转化成csv文件,方便后续我们利用dataGrip对数据进行对比

import pandas as pd
# 白术的数据
atr_data = pd.read_excel('白术的文件.xls', sheet_name='Sheet1')
atr_data = pd.DataFrame(atr_data)
rows_num_I = atr_data.shape[0]
atr_data['角色名称'] = ['白术']*rows_num_I
atr_data = atr_data[['弹幕内容', '感情分数', '角色名称']]
atr_data.to_csv('bilibili_Atractylodes.csv', index=False)
# 艾尔海森的数据
elh_data = pd.read_excel('艾尔海森的文件.xls', sheet_name='Sheet1')
elh_data = pd.DataFrame(elh_data)
rows_num_II = elh_data.shape[0]
elh_data['角色名称'] = ['艾尔海森']*rows_num_II
elh_data = elh_data[['弹幕内容', '感情分数', '角色名称']]
elh_data.to_csv('bilibili_elheisen.csv', index=False)
# 对数据进行拼接
sum_data = pd.concat([elh_data,atr_data], ignore_index=True)
sum_data.to_csv('bilibili_danmu.csv',  index=False)

我们可以得到csv文件,包含了艾尔海森和白术角色pv发布当天的弹幕内容和感情得分

数据可视化和对比

将数据导入datagrip文件中,并通过一系列SQL语句可视化数据。导入的数据可以表示为:
在这里插入图片描述
通过SQL命令查看角色PV发布当天的弹幕总数量

select
sum(case when 角色名称='艾尔海森' then 1 else 0 end) '艾尔海森弹幕数量',
sum(case when 角色名称='白术' then 1 else 0 end) '白术弹幕数量'
from ddm.danmu

得到的结果为
在这里插入图片描述
此外,我们可以观看不同角色的弹幕感情分布,以艾尔海森为例

select
sum(if(感情分数 > 0.5, 1, 0)) '感情分数高于0.5',
sum(if(感情分数 = 0.5, 1, 0)) '感情分数等于0.5',
sum(if(感情分数 < 0.5, 1, 0)) '感情分数小于0.5'
from ddm.danmu
where 角色名称='艾尔海森'

在这里插入图片描述
并得到相关的感情占比,代码和结果如下

select
sum(if(感情分数 > 0.5, 1, 0))/count(角色名称) '感情分数高于0.5(%)',
sum(if(感情分数 = 0.5, 1, 0))/count(角色名称) '感情分数等于0.5(%)',
sum(if(感情分数 < 0.5, 1, 0))/count(角色名称) '感情分数小于0.5(%)'
from ddm.danmu
where 角色名称='艾尔海森'

在这里插入图片描述
同理,我们可以得到白术的弹幕感情分布和占比
在这里插入图片描述
在这里插入图片描述
通过取平均值,我们可以得到两个男性角色的平均得分情况

select
角色名称,
round(avg(感情分数), 4) 平均感情得分
from ddm.danmu
group by 角色名称

在这里插入图片描述

数据分析

通过对比以上数据,我们发现艾尔海森的角色热度比白术的角色热度高,但是艾尔海森的角色争议略高于白术。并且,我们发现只使用SnowNLP对弹幕进行感情分析与真正的感情得分有一定的出入。 比如在艾尔海森的弹幕感情分析中,根据流行词和原神玩家的口头禅,这两句的弹幕感情得分应该较高,然而得分却比较低
在这里插入图片描述
在白术的弹幕感情分析中,也存在同样的问题。并且“玩到关服”在原神中一般和“不歪”进行连用。单个词汇进行分析会导致感情得分存在偏差。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值