数据分析-06-游戏APP用户行为统计分析(包含代码和数据)

0. 获取数据集

关注公众号:『AI学习星球
回复:游戏APP用户行为统计分析 即可获取数据下载。
论文辅导算法学习可以通过公众号滴滴我
在这里插入图片描述

1. 项目背景

本例是对游戏app用户从安装——注册的行为数据进行统计分析

游戏业务数据分析常分析如图所示的用户行为数据:
在这里插入图片描述

2. 数据读取

数据集

# 加载包
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt

读取数据

az = pd.read_excel('数据源整合.xlsx',sheet_name='安装信息')
zc = pd.read_excel('数据源整合.xlsx',sheet_name='注册信息')

查看数据

print("查看安装信息:")
az.head()

在这里插入图片描述

print('查看注册信息:')
zc.head()

在这里插入图片描述
查看安装信息

print("安装信息表:")
print(az.info())
print("-"*30)
print(az.describe())
print("-"*30)
print('空值统计:\n',az.isnull().sum())
print("-"*30)
print('重复数据:',az.duplicated().sum())

在这里插入图片描述
查看注册信息
在这里插入图片描述
查看安装时间范围

print('安装信息表的安装时间范围:',az['安装时间'].min(),az['安装时间'].max())
print('注册信息表的安装时间范围:',zc['安装时间'].min(),zc['安装时间'].max())

安装信息表的安装时间范围: 2020-04-19 16:04:54 2020-04-26 15:59:27
注册信息表的安装时间范围: 2020-02-20 13:21:31 2020-04-26 23:44:39
查看近期安装时间范围

az = az[az['安装时间']>'2020-04-19 23:59:59']
zc = zc[zc['安装时间']>'2020-04-19 23:59:59']
print('安装信息表的安装时间范围:',az['安装时间'].min(),az['安装时间'].max())
print('注册信息表的安装时间范围:',zc['安装时间'].min(),zc['安装时间'].max())

安装信息表的安装时间范围: 2020-04-20 00:02:15 2020-04-26 15:59:27
注册信息表的安装时间范围: 2020-04-20 00:04:51 2020-04-26 23:44:39
查看信息

uid = az['用户唯一ID']
zc = zc[zc['用户唯一ID'].isin(uid)]
print('安装信息:',az.shape)
print('注册信息:',zc.shape)

安装信息: (7282, 9)
注册信息: (5125, 11)

print('注册信息重复ID:',zc['用户唯一ID'].duplicated().sum())
# 去重
zc = zc.drop_duplicates('用户唯一ID')
print('去重后:',zc.shape)

注册信息重复ID: 207
去重后: (4918, 11)

3. 安装信息分析

3.1 安装人数、注册人数、激活率

激活率=激活人数/安装人数(这里激活人数以注册人数代替)

print("安装人数:",az.shape[0])
print('注册人数:',zc.shape[0])
print('激活率:%.2f%%'%((zc.shape[0]/az.shape[0])*100)) #以百分比的格式输出激活率

安装人数: 7282
注册人数: 4918
激活率:67.54%

3.2 日安装量、安装渠道、TOP15子渠道、安装地区、是否WiFi安装、安装的手机类型统计TOP15、系统版本

az['安装日期']=az['安装时间'].dt.date
print('日安装用户量:\n',az.groupby('安装日期').用户唯一ID.count())

日安装用户量:
安装日期
2020-04-20 947
2020-04-21 912
2020-04-22 1045
2020-04-23 1022
2020-04-24 915
2020-04-25 1278
2020-04-26 1163
Name: 用户唯一ID, dtype: int64

print("安装渠道:\n",az['渠道'].value_counts())
print('\n TOP 15子渠道:\n',az['子渠道'].value_counts()[:15])

在这里插入图片描述
查看安装地区

print('安装地区:\n',az['地区'].value_counts())

安装地区:
地区A 5663
地区B 1543
地区C 76
Name: 地区, dtype: int64

查看使用网络类型

print('是否WiFi安装:\n',az['WIFI'].value_counts())

是否WiFi安装:
True 3938
False 3344
Name: WIFI, dtype: int64
查看手机类型

print("用户安装手机类型TOP 15:\n")
az['手机类型'] = az['机型'].str.split("-").str[0]
az['手机类型'] = az['手机类型'].str.title() #.title()将所有手机类型的名称转换为首字母大写的格式
az['手机类型'].value_counts()[:15]

在这里插入图片描述
查看系统类型

print('系统:',az['系统'].value_counts())
print('\n操作系统版本:\n',az.groupby('操作系统版本').系统.count())

在这里插入图片描述

4 注册信息分析

4.1 每日注册人数、用户类型、注册时段、激活时间、日新增新用户统计

zc['注册日期'] = pd.to_datetime(zc['注册时间']).dt.date
print('日注册用户:\n',zc.groupby('注册日期').用户唯一ID.count())

在这里插入图片描述
查看用户类型

print("用户类型:\n",zc['用户类型'].value_counts())

用户类型:
new 2565
old 2353
Name: 用户类型, dtype: int64

zc.head()

在这里插入图片描述
将注册信息进行图形化展示

# matplotlib显示中文
plt.rcParams['font.sans-serif'] = ['Arial Unicode MS']
zc['注册时段'] = pd.to_datetime(zc['注册时间']).dt.hour
hzc = zc.groupby(['用户类型','注册时段']).用户唯一ID.count().reset_index(name='total')
sns.lineplot(data=hzc,x='注册时段',y='total',hue='用户类型')
plt.title('各时段的注册用户量',loc='left')
plt.show()

在这里插入图片描述
查看激活信息

print("激活时间:\n")
zc['激活时间'] = pd.to_datetime(zc['注册时间']).dt.day-pd.to_datetime(zc['安装时间']).dt.day
jh = zc['激活时间'].value_counts().reset_index(name='total')
jh['percent'] =(jh['total']/7282).round(3)
print(jh)

在这里插入图片描述
查看新增用户

print('日新增新用户:\n')
nzc = zc[zc['用户类型']=='new']
nzc.groupby('注册日期').用户唯一ID.count()

在这里插入图片描述

关注公众号:『AI学习星球
回复:游戏APP用户行为统计分析 即可获取数据下载。
论文辅导算法学习可以通过公众号滴滴我

在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值