Kaggle项目之Mobile App Store

本文通过对AppleStore数据集的分析,探讨了免费与付费APP的评分分布、价格与评分的关系、APP大小、设备支持及适龄情况。研究发现,免费和付费APP的评分分布相似,游戏类APP需求量大,付费APP支持的设备数量稍多,而APP大小与价值有一定正相关。建议开发者考虑开发免费游戏APP,注重设备支持和适龄范围,以及APP详情页的图片展示。
摘要由CSDN通过智能技术生成

在这里插入图片描述

Mobile APP Store数据集

项目介绍

  • 目前手机应用商店里App种类繁多,并且数量也一直在增加,想要成为一款受欢迎的应用越来越困难,因此对APP下载数据和评分数据进行分析成为帮助App开发者获取和留存用户的重要工具。
  • 现在我们要对具有代表性的苹果应用商城的App应用进行分析,根据每个app应用的属性进行相关性探索。

数据集介绍

AppleStore数据集包含两个csv文件。

  • AppleStore.csv文件中包含的是App的应用程序ID、名称、大小、价格、评分、内容评级、主要类型、支持设备类型数量等信息,共16个维度,7197行数据。
  • appStore_desception.csv文件是对16个字段的详细描述。
字段描述
  • id:app的编号,每个app只有一个编号
  • track_name:app的名称
  • size_bytes: 大小(以字节为单位)
  • currency:通用货币类型
  • price: 价格金额
  • rating_count_tot: 用户评分计数(适用于所有版本)
  • rating_count_ver:用户评分计数(当前版本)
  • user_rating:平均用户评分值(适用于所有版本),取值范围为(0,5],左开右闭区间
  • user_rating_ver:平均用户评分值(对于当前版本)取值范围(0,5],左开右闭区间
  • ver:当前的版本号
  • cont_rating:内容评级(游戏适龄4,9,12,17)
  • prime_genre:主要类型
  • sup_devices.num:支持设备的数量
  • ipadSc_urls.num:截屏展示数量(即在应用详情页的图片数量0-5张)
  • lang.num:支持的语言数量
  • vpp_lic:启用批量购买程序设备的许可

数据预处理

查看数据
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
filepath = './dataFile/AppleStore.csv'
df = pd.read_csv(filepath,index_col=0)
print("打印数据的前三行信息:")
df.head(3)
打印数据的前三行信息:
id track_name size_bytes currency price rating_count_tot rating_count_ver user_rating user_rating_ver ver cont_rating prime_genre sup_devices.num ipadSc_urls.num lang.num vpp_lic
1 281656475 PAC-MAN Premium 100788224 USD 3.99 21292 26 4.0 4.5 6.3.5 4+ Games 38 5 10 1
2 281796108 Evernote - stay organized 158578688 USD 0.00 161065 26 4.0 3.5 8.2.2 4+ Productivity 37 5 23 1
3 281940292 WeatherBug - Local Weather, Radar, Maps, Alerts 100524032 USD 0.00 188583 2822 3.5 4.5 5.0.0 4+ Weather 37 5 3 1
print("数据共有{}行,{}列".format(df.shape[0],df.shape[1]))
数据共有7197行,16列
print("数据集中每列的信息:")
df.info()
数据集中每列的信息:
<class 'pandas.core.frame.DataFrame'>
Int64Index: 7197 entries, 1 to 11097
Data columns (total 16 columns):
id                  7197 non-null int64
track_name          7197 non-null object
size_bytes          7197 non-null int64
currency            7197 non-null object
price               7197 non-null float64
rating_count_tot    7197 non-null int64
rating_count_ver    7197 non-null int64
user_rating         7197 non-null float64
user_rating_ver     7197 non-null float64
ver                 7197 non-null object
cont_rating         7197 non-null object
prime_genre         7197 non-null object
sup_devices.num     7197 non-null int64
ipadSc_urls.num     7197 non-null int64
lang.num            7197 non-null int64
vpp_lic             7197 non-null int64
dtypes: float64(3), int64(8), object(5)
memory usage: 955.9+ KB
  • 数据没有缺失情况
print("数值型列统计信息:")
df.describe()
数值型列统计信息:
id size_bytes price rating_count_tot rating_count_ver user_rating user_rating_ver sup_devices.num ipadSc_urls.num lang.num vpp_lic
count 7.197000e+03 7.197000e+03 7197.000000 7.197000e+03 7197.000000 7197.000000 7197.000000 7197.000000 7197.000000 7197.000000 7197.000000
mean 8.631310e+08 1.991345e+08 1.726218 1.289291e+04 460.373906 3.526956 3.253578 37.361817 3.707100 5.434903 0.993053
std 2.712368e+08 3.592069e+08 5.833006 7.573941e+04 3920.455183 1.517948 1.809363 3.737715 1.986005 7.919593 0.083066
min 2.816565e+08 5.898240e+05 0.000000 0.000000e+00 0.000000 0.000000 0.000000 9.000000 0.000000 0.000000 0.000000
25% 6.000937e+08 4.692275e+07 0.000000 2.800000e+01 1.000000 3.500000 2.500000 37.000000 3.000000 1.000000 1.000000
50% 9.781482e+08 9.715302e+07 0.000000 3.000000e+02 23.000000 4.000000 4.000000 37.000000 5.000000 1.000000 1.000000
75% 1.082310e+09 1.819249e+08 1.990000 2.793000e+03 140.000000 4.500000 4.500000 38.000000 5.000000 8.000000 1.000000
max 1.188376e+09 4.025970e+09 299.990000 2.974676e+06 177050.000000 5.000000 5.000000 47.000000 5.000000 75.000000 1.000000
  • 对数值列数据进行查看,price列没有负值,user_rating,user_rating_ver最大最小值均在[0,5],无异常数据
print("数据中重复数据个数:")
df.duplicated().sum()
数据中重复数据个数:
0
特征处理
#app的size由bite变为兆
df['size_mb'] = df['size_bytes']/(1024*1024.0)
df['size_mb'].describe()
count    7197.000000
mean      189.909414
std       342.566408
min         0.562500
25%        44.749023
50%        92.652344
75%       173.497070
max      3839.463867
Name: size_mb, dtype: float64
#根据price新增是否付费列
df['paid'] = df['price'].apply(lambda x:1 if x> 0 else 0)
df['paid'].head()
1    1
2    0
3    0
4    0
5    0
Name: paid, dtype: int64
#根据当前版本与历史版本评分新增波动列
df['curr_ver'] = df['user_rating_ver']-df['user_rating']
df['curr_ver'].head()
1    0.5
2   -0.5
3    1.0
4    0.5
5    0.5
Name: curr_ver, dtype: float64

探索性分析

#一些简单的单变量的数据分析
pd.DataFrame({
   
    "评分人数最多的10款app":df.sort_values(by='rating_count_tot',ascending=False).head(10)['track_name'].tolist(),
    "当前评分最高的10款app":df.sort_values(by='user_rating_ver',ascending=False).head(10)['track_name'].tolist()
  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值