失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 大数据毕设 - 网络游戏数据分析与可视化(python 大数据)

大数据毕设 - 网络游戏数据分析与可视化(python 大数据)

时间:2022-05-08 19:53:03

相关推荐

大数据毕设 - 网络游戏数据分析与可视化(python 大数据)

文章目录

0 前言1 数据集说明2 数据处理3 数据分析可视化3.1 新增用户3.2 用户活跃度3.3 用户消费情况3.4 用户游戏情况 4 最后

0 前言

🔥 Hi,大家好,这里是丹成学长的毕设系列文章!

🔥 对毕设有任何疑问都可以问学长哦!

这两年开始,各个学校对毕设的要求越来越高,难度也越来越大… 毕业设计耗费时间,耗费精力,甚至有些题目即使是专业的老师或者硕士生也需要很长时间,所以一旦发现问题,一定要提前准备,避免到后面措手不及,草草了事。

为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天要分享的新项目是

🚩大数据 - 网络游戏数据分析可视化

🥇学长这里给一个题目综合评分(每项满分5分)

难度系数:4分工作量:4分创新点:3分

🧿选题指导, 项目分享:

/yaa-dc/BJH/blob/master/gg/cc/README.md

1 数据集说明

这是一份手游《野蛮时代》的用户数据,共有训练集和测试集两个数据文件。二者之间数据无交集,合计大小 861 M,总记录数 3,116,941,包含字段 109 个。

2 数据处理

数据处理:将两个数据文件合并,只取分析要用的字段。然后把数据写到 mysql。

只取用于分析的字段,因为字段数太多,去掉没用的字段可以极大的节省内存和提高效率

## 合并数据文件 dir = r"C:\Users\Administrator\Desktop\AgeOfBarbarians"data_list = []for path in os.listdir(dir):path = os.path.join(dir, path)data = pd.read_csv(path)data = data[['user_id', 'register_time', 'pvp_battle_count', 'pvp_lanch_count', 'pvp_win_count', 'pve_battle_count','pve_lanch_count', 'pve_win_count', 'avg_online_minutes', 'pay_price', 'pay_count']]data_list.append(data)data = pd.concat(data_list)## 输出处理 # 没有重复值# print(data[data.duplicated()])# 没有缺失值# print(data.isnull().sum())## 数据保存 # 保存清洗后的数据 mysqlengine = create_engine('mysql://root:root@172.16.122.25:3306/test?charset=utf8')data.to_sql('age_of_barbarians', con=engine, index=False, if_exists='append')

导进数据库后,在修改下字段类型以解决精度问题。

alter table age_of_barbarians modify register_time timestamp(0);alter table age_of_barbarians modify avg_online_minutes float(10, 2);alter table age_of_barbarians modify pay_price float(10, 2);

3 数据分析可视化

3.1 新增用户

总的用户数为 3,116,941。

总的记录数与用户数据一致,说明 use_id 可以作为唯一 ID。所以后续对用户的统计,可以不用加 distinct

其中 PU 为 60,988 人, 占比 1.96 %

PU ( Paying Users):付费用户总量

DNU 的情况如下图,可以看到有两个注册高峰,应该是这款游戏做了什么活动引流产生。

DNU(Daily New Users): 每日游戏中的新登入用户数量,即每日新用户数。

每小时注册的用户情况如下,可以看到新用户的注册高峰是在晚间的 21 点。

3.2 用户活跃度

从平均在线时间来看,付费用户的平均在线时间高达 2 个小时,远大于整体的平均在线时间。

3.3 用户消费情况

APA(Active Payment Account):活跃付费用户数。

ARPU(Average Revenue Per User) :平均每用户收入。

ARPPU (Average Revenue Per Paying User): 平均每付费用户收入。

PUR(Pay User Rate):付费比率,可通过 APA/AU 计算得出。

-- APA(Active Payment Account):活跃付费用户数。select count(1) as APA from age_of_barbarians where pay_price > 0 and avg_online_minutes > 0; -- 60987-- ARPU(Average Revenue Per User) :平均每用户收入。select sum(pay_price)/sum(case when avg_online_minutes > 0 then 1 else 0 end) from age_of_barbarians; -- 0.582407-- ARPPU (Average Revenue Per Paying User): 平均每付费用户收入。select sum(pay_price)/sum(case when avg_online_minutes > 0 and pay_price > 0 then 1 else 0 end) from age_of_barbarians; -- 29.190265-- PUR(Pay User Rate):付费比率,可通过 APA/AU 计算得出。select sum(case when avg_online_minutes > 0 and pay_price > 0 then 1 else 0 end) / sum(case when avg_online_minutes > 0 then 1 else 0 end)from age_of_barbarians; -- 0.02-- 付费用户人数,付费总额,付费总次数,平均每人付费,平均每人付费次数,平均每次付费select count(1) as pu, -- 60988sum(pay_price) as sum_pay_price, -- 1780226.7avg(pay_price) as avg_pay_price, -- 29.189786sum(pay_count) as sum_pay_count, -- 193030avg(pay_count) as avg_pay_count, -- 3.165sum(pay_price) / sum(pay_count) as each_pay_price -- 9.222539from age_of_barbarianswhere pay_price > 0;

从上方的统计结果可以知道,这 6 万多的付费用户,一共消费了 178 万元,平均每人消费 29 元。

平均每用户收入 0.58 元,平均每付费用户收入 29.19 元,付费比率为 2% 。

这个付费比率应该是比较低的,可以通过一些首冲活动来提高新用户的付费意愿。

3.4 用户游戏情况

从胜率和场次来看,氪金确实可以让你变强,付费用户的平均胜率为 71.13 %,远大于非付费用户的 38.03 %,当然也是因为付费用户的平均游戏场次要远大于一般用户,毕竟越肝越强。

从游戏类型来看,PVE 的平均胜率达到 90.1 %,说明难度还是比较低的,游戏体验还是很好的,适合符合入门级难度设定。

4 最后

如果觉得《大数据毕设 - 网络游戏数据分析与可视化(python 大数据)》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。