【毕业设计】大数据 - 网络游戏数据分析可视化
文章目錄
- 1. 數(shù)據(jù)集說明
- 2. 數(shù)據(jù)處理
- 3. 數(shù)據(jù)分析可視化
- 3.1 新增用戶
- 3.2 用戶活躍度
- 3.3 用戶消費(fèi)情況
- 3.4 用戶游戲情況
- 4 最后
🧿 選題指導(dǎo), 項目分享:
https://gitee.com/dancheng-senior/project-sharing-1/blob/master/%E6%AF%95%E8%AE%BE%E6%8C%87%E5%AF%BC/README.md
1. 數(shù)據(jù)集說明
這是一份手游《野蠻時代》的用戶數(shù)據(jù),共有訓(xùn)練集和測試集兩個數(shù)據(jù)文件。二者之間數(shù)據(jù)無交集,合計大小 861 M,總記錄數(shù) 3,116,941,包含字段 109 個。
2. 數(shù)據(jù)處理
數(shù)據(jù)處理:將兩個數(shù)據(jù)文件合并,只取分析要用的字段。然后把數(shù)據(jù)寫到 mysql。
只取用于分析的字段,因為字段數(shù)太多,去掉沒用的字段可以極大的節(jié)省內(nèi)存和提高效率
## 合并數(shù)據(jù)文件 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)## 輸出處理 # 沒有重復(fù)值 # print(data[data.duplicated()])# 沒有缺失值 # print(data.isnull().sum())## 數(shù)據(jù)保存 # 保存清洗后的數(shù)據(jù) mysql engine = 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')導(dǎo)進(jìn)數(shù)據(jù)庫后,在修改下字段類型以解決精度問題。
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. 數(shù)據(jù)分析可視化
3.1 新增用戶
總的用戶數(shù)為 3,116,941。
總的記錄數(shù)與用戶數(shù)據(jù)一致,說明 use_id 可以作為唯一 ID。所以后續(xù)對用戶的統(tǒng)計,可以不用加 distinct
其中 PU 為 60,988 人, 占比 1.96 %
PU ( Paying Users):付費(fèi)用戶總量
DNU 的情況如下圖,可以看到有兩個注冊高峰,應(yīng)該是這款游戲做了什么活動引流產(chǎn)生。
DNU(Daily New Users): 每日游戲中的新登入用戶數(shù)量,即每日新用戶數(shù)。
每小時注冊的用戶情況如下,可以看到新用戶的注冊高峰是在晚間的 21 點(diǎn)。
3.2 用戶活躍度
從平均在線時間來看,付費(fèi)用戶的平均在線時間高達(dá) 2 個小時,遠(yuǎn)大于整體的平均在線時間。
3.3 用戶消費(fèi)情況
APA(Active Payment Account):活躍付費(fèi)用戶數(shù)。
ARPU(Average Revenue Per User) :平均每用戶收入。
ARPPU (Average Revenue Per Paying User): 平均每付費(fèi)用戶收入。
PUR(Pay User Rate):付費(fèi)比率,可通過 APA/AU 計算得出。
-- APA(Active Payment Account):活躍付費(fèi)用戶數(shù)。 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): 平均每付費(fèi)用戶收入。 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):付費(fèi)比率,可通過 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-- 付費(fèi)用戶人數(shù),付費(fèi)總額,付費(fèi)總次數(shù),平均每人付費(fèi),平均每人付費(fèi)次數(shù),平均每次付費(fèi) 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.222539 from age_of_barbarians where pay_price > 0;從上方的統(tǒng)計結(jié)果可以知道,這 6 萬多的付費(fèi)用戶,一共消費(fèi)了 178 萬元,平均每人消費(fèi) 29 元。
平均每用戶收入 0.58 元,平均每付費(fèi)用戶收入 29.19 元,付費(fèi)比率為 2% 。
這個付費(fèi)比率應(yīng)該是比較低的,可以通過一些首沖活動來提高新用戶的付費(fèi)意愿。
3.4 用戶游戲情況
從勝率和場次來看,氪金確實(shí)可以讓你變強(qiáng),付費(fèi)用戶的平均勝率為 71.13 %,遠(yuǎn)大于非付費(fèi)用戶的 38.03 %,當(dāng)然也是因為付費(fèi)用戶的平均游戲場次要遠(yuǎn)大于一般用戶,畢竟越肝越強(qiáng)。
從游戲類型來看,PVE 的平均勝率達(dá)到 90.1 %,說明難度還是比較低的,游戲體驗還是很好的,適合符合入門級難度設(shè)定。
🧿 選題指導(dǎo), 項目分享:
https://gitee.com/dancheng-senior/project-sharing-1/blob/master/%E6%AF%95%E8%AE%BE%E6%8C%87%E5%AF%BC/README.md
4 最后
總結(jié)
以上是生活随笔為你收集整理的【毕业设计】大数据 - 网络游戏数据分析可视化的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: pyhton-miniblink
- 下一篇: 计算矩阵的任意次方