Python+大数据-数据分析与处理(六)-综合案例

article/2025/11/8 7:24:16

Python+大数据-数据分析与处理(六)-综合案例

案例一:Appstore数据分析

  • 学习目标

  • 掌握描述性数据分析流程

  • 能够使用pandas、seaborn进行数据分析和可视化

1.案例介绍

案例背景

  • 对 App 下载和评分数据分析,帮助 App 开发者获取和留存用户
  • 通过对应用商店的数据分析为开发人员提供可操作的意见

分析需求

  • 免费和收费的 App 都集中在哪些类别
  • 收费 App 的价格是如何分布的,不同类别的价格分布怎样
  • App文件的大小和价格以及用户评分之间是否有关

分析流程

1)数据概况分析

  • 数据行/列数量
  • 缺失值分布

2)单变量分析

  • 数字型变量的描述指标(平均值,最小值,最大值,标准差等)
  • 类别型变量(多少个分类,各自占比)

3)多变量分析

  • 按类别交叉对比
  • 变量之间的相关性分析

4)可视化分析

  • 分布趋势(直方图)
  • 不同组差异(柱状图)
  • 相关性(散点图/热力图)

数据集说明

本案例使用 applestore.csv 数据集,其数据字段如下:

字段说明
idApp ID:每个 App 唯一标识
track_nameApp 的名称
size_bytes以 bytes 为单位的 App 大小
price定价(美元)
rating_count_totApp 所有版本的用户评分数量
rating_count_verApp 当前版本的用户评分数量
prime_genreApp 的类别
user_ratingApp 所有版本的用户评分
sup_devices.num支持的 iOS 设备数量
ipadSc_urls.numApp 提供的截屏展示数量
lang.num支持的语言数量

2. 数据清洗

# 加载数据
import pandas as pd
app = pd.read_csv('./data/applestore.csv',index_col=0)
app

image-20221021145155360

# 查看数据集的字段信息
app.info()

image-20221021145407038

# 查看数据集的各个字段统计值
app.describe()

image-20221021145445383

# 查看是否有缺失值
app.shape
(7197, 10)
# 将sizebytes 大小变成mb ,新增size_mb列
app['size_mb'] = app['size_bytes']/(1024*1024)
app

image-20221021145552348

# 查看size_mb 列的统计值
app.size_mb.describe()

image-20221021150018910

# 根据价格新增是否免费paid列  判断免费为0 不免费为1
app['paid'] = app['price'].apply(lambda x : 1 if x>0 else 0)
app

image-20221021150101924

# 查看paid列统计信息
#s.value_counts()`统计 Series 数据中不同元素的个数
app['paid'].value_counts()

image-20221021150129653

3.单变量分析

# 查看app 的结果是如何分布的
app.price.value_counts()

image-20221021150258426

# 将按照价格app数据进行分组
# pandas.cut()函数可以将数据进行分类成不同的区间值
bins = [0,2,10,30]
labels=['<2','<10','<30']
# 分组 bins代表分组区间,默认是左开右闭    左闭右开 right=False  labels 显示区间
app['price_new'] = pd.cut(app.price,bins ,right=False,labels=labels)
app.head(20)

image-20221021150347771

# 分组后查看数据分布情况
# `df.groupby(列标签, ...).列标签.聚合函数()`按指定列分组,并对分组 数据的相应列进行相应的 聚合操作
app.groupby('price_new')['price'].describe()

image-20221021150413835

# 查看不同类别app价格如何分布的
app.groupby('prime_genre')['price'].describe()

image-20221021150439960

# 删除价格大于49.99的app数据
app = app[app['price']<= 49.99]
app.head()

image-20221021150521643

# 利用app所有版本的评分数量对数据进行分组
app.rating_count_tot.describe()

image-20221021150557118

4.业务数据可视化

import matplotlib.pyplot as plt
import seaborn as sns
%matplotlib inline# app 评分关系
# height:关键字来控制图片高度 
# aspect:控制宽高比例
sns.relplot(x='prime_genre', y='user_rating', kind='line', data=app, height=5, aspect=3)
# 将 x 轴文字旋转45度
plt.xticks(rotation=45,horizontalalignment='right',fontweight='light',fontsize='x-large'  
)

image-20221021150709840

# c查看价格小于9.99元的app价格分布
plt.figure(figsize=(20,8))
#筛选出price<=9.99的app数据
app_result = app[app['price']<=9.99]
sns.displot(app_result['price'])

image-20221021150748940

# 查看不同类别的收费APP的价格分布
plt.figure(figsize=(20, 8))
sns.boxplot(x='price', y='prime_genre', data=app[app['paid']==1])
plt.yticks(fontweight='light', fontsize='x-large')

image-20221021150829222

# 查看数量最多的前 5 个类别收费 App 的价格分布
# 筛选出数量最多的前 5 类 App 的数据
top5 = app.groupby('prime_genre')['price'].count().sort_values(ascending=False).head()
app5 = app[app.prime_genre.isin(top5.index)]
# 绘制箱线图
plt.figure(figsize=(20, 8))
sns.boxplot(x='price', y='prime_genre', data=app5[app5['paid']==1])

image-20221021150854840

# 查看 App 数据中价格和用户评分的关系,绘制散点图
plt.figure(figsize=(20, 8))
sns.scatterplot(x='price', y='user_rating', data=app)

image-20221021150924992

# 同一类别,将免费和付费的评分进行对比
plt.figure(figsize=(20, 8))
sns.barplot(x='prime_genre', y='user_rating', data=app5, hue='paid')

image-20221021151001070

5.业务解读

  • 业务问题1:免费或收费 App 集中在哪些类别?

#第一步:将数据统计出每个类别有多少个app
#第二步:从高到低进行排列
#第三步:将数据进行可视化plt.figure(figsize=(20,8))
#参数 order指定数据显示的顺序
sns.countplot(y='prime_genre',data=app,order=app['prime_genre'].value_counts().index,hue='paid')

image-20221021151127161

  • 业务问题2:免费与收费的 App 在不同评分区间的分布?

#将评分进行分箱,查看落入不同箱中应用的数量
bins =[0,0.5,2.5,4.5,5.1]
app['rating_level'] = pd.cut(app.user_rating,bins,right=False)
app.groupby('rating_level')['user_rating'].describe()

image-20221021151212803

py# 数据可视化
plt.figure(figsize=(20,8))
sns.countplot(x='paid',data=app,hue='rating_level')

image-20221021151250535

  • 业务问题3:APP的价格、大小和用户评分之间有关系吗?

# 通过corr计算APP的价格,大小和用户评价之间的关系
app[['user_rating','price','size_mb']].corr()

image-20221021151334399

# 通过热力图来查看变量之间两两的相关系数
plt.figure(figsize=(20,8))
sns.heatmap(app[['user_rating','price','size_mb']].corr())

image-20221021151408947

案例二: 优衣库销售数据分析

  • 学习目标

    • 掌握描述性数据分析流程
    • 能够使用pandas、seaborn进行数据分析和可视化

1.案例介绍

案例背景

  • 数据集中包含了不同城市优衣库门店的销售记录
  • 通过对销售数据的分析,为运营提供一些有益信息

分析需求

  • 不同产品的销售情况,顾客喜欢的购买方式
  • 销售额和成本之间的关系
  • 购买时间偏好

数据集说明

本案例使用 uniqlo.csv 数据集,其数据字段如下:

字段说明
store_id门店随机id
city城市
channel销售渠道:网购自提、门店购买
gender_group客户性别:男、女
age_group客户年龄段
wkd_ind购买发生的时间:周末、周间
product产品类别
customer客户数量
revenue销售金额
order订单数量
quant购买产品的数量
unit_cost成本(制作+运营)

2.加载数据

# 加载数据
#不同产品的销售情况,顾客喜欢的购买方式
#销售额和成本之间的关系
#购买时间偏好
import pandas as pd
uniqlo = pd.read_csv('./data/uniqlo.csv')
uniqlo

image-20221021151712579

# 查看数据的字段信息
uniqlo.info()

image-20221021151750758

#查看非空
uniqlo.shape(22293, 12)
# 查看数据字段的统计信息
uniqlo.describe()

image-20221021151833693

# 查看销售金额小于1的数据信息
uniqlo[uniqlo.revenue<1]

image-20221021152109369

# 查看销售金额大于5000的数据信息
uniqlo[uniqlo.revenue>5000]

image-20221021152150830

3. 业务解读

  • 不同产品的销售情况

# 统计不同种类产品的订单情况
uniqlo.groupby('product')['order'].sum().sort_values(ascending=False)

image-20221021152256587

# 统计不同种类产品的销量
uniqlo.groupby('product')['quant'].sum().sort_values(ascending=False)

image-20221021152335831

py# 进一步拆解,按城市拆解销量
uniqlo.pivot_table(values='quant',index='product',columns='city',aggfunc='sum').sort_values('上海',ascending=False)

image-20221021152403525

# 对城市拆解后,在进一步按下上线拆解
uniqlo.pivot_table(values='quant',index='product',columns=['city','channel'],aggfunc='sum')

image-20221021152425775

  • 用户习惯使用哪种方式进行消费

# 使用不同消费方式的订单数量
uniqlo.groupby('channel').order.sum()

image-20221021152457214

y#进一步按城市拆解
uniqlo.pivot_table(index='city',columns='channel',values='order',aggfunc='sum').sort_values('线上',ascending=False)

image-20221021152525782

# 进一步统计线上线下销售额
uniqlo.pivot_table(values='quant',index='city',columns='channel',aggfunc='sum')

image-20221021152559773

  • 用户消费习惯(周间还是周末)

#统计用户周间,周末消费的整体情况
uniqlo.wkd_ind.value_counts()

image-20221021152645046

# 通过数据透视表,查看不同城市周间,周末销售情况
wkd_sales = uniqlo.pivot_table(values='quant',index='wkd_ind',columns='city',aggfunc='sum')
wkd_sales

image-20221021152711517

# 添加字段,计算每天的销售额
wkd_sales.loc['weekday_avg',:]= wkd_sales.loc['Weekday',:] /5
wkd_sales.loc['weekend_avg',:]= wkd_sales.loc['Weekend',:] /2
wkd_sales

image-20221021152749049

  • 销售额和成本之间的关系

# 计算销售额和成本之间的相关系数
uniqlo[['revenue','unit_cost']].corr()

image-20221021152831867

y# 进一步查看unit_cost
uniqlo.unit_cost.value_counts()

image-20221021152905873

#筛选出销售额大于1的销售额
uniqlo2 = uniqlo[uniqlo.revenue>1]
uniqlo2.head()

image-20221021152939895

# 添加单件收入列,并计算单件收入和单位成本计算相似度
uniqlo2['rev_per_goods'] = uniqlo2['revenue'] / uniqlo2['quant']
uniqlo2[['rev_per_goods','unit_cost']].corr()

image-20221021153000330

p# 绘制热力图
sns.heatmap(uniqlo2[['rev_per_goods', 'unit_cost']].corr())

image-20221021153026009


http://chatgpt.dhexx.cn/article/6d3UFTjV.shtml

相关文章

大数据挖掘分析的经典案例,主要有哪几种?

大数据挖掘分析经典案例有以下几种&#xff1a; 1.预测产品未来一段时间用户是否会流失&#xff0c;流失情况怎么样&#xff1b; 2.公司做了某个促销活动&#xff0c;预估活动效果怎么样&#xff0c;用户接受度如何&#xff1b; 3.评估用户信用度好坏&#xff1b; 4.对现有…

第11章综合案例2影评大数据分析

第11章综合案例2影评大数据分析 实验目的及要求 &#xff08;1&#xff09;现有电影、影评和用户信息3个数据文件&#xff0c;将对其进行大数据分析。 实验系统环境及版本 Linux Ubuntu 20.04 JDK1.8 Hadoop3.1.0 MySQL8.0.28 Hive3.1.2 实验任务 评分次数最多的10部电…

淘宝大数据分析案例

项目介绍 本次结合的是一份淘宝大数据数据&#xff0c;数据集的大小共177MB&#xff0c;数据一共有3182261份&#xff08;三百多万份数据集&#xff09;&#xff0c;一般的软件是无法计算和分析的&#xff0c;比如Excel&#xff0c;MySQL&#xff0c;Python这些都无法较好的完…

数据分析综合案例

数据分析综合案例&#xff1a; 数据分析流程 什么是数据清洗&#xff1f; 简单来说&#xff0c;数据清洗就是把“脏数据”变为“干净的数据”。数据清洗虽然很繁琐&#xff0c;但也很重要。数据清洗流程&#xff1a; 数据的读写、数据的探索与描述、数据简单处理、重复值的处…

磁力搜索网站+下载神器放送2019-03-05

先介绍下背景,因为喜欢看的电影因为版权问题,不能用迅雷及百度云离线下载.今天找了好久,终于发现了一个好用的解决方案. 先介绍常用的磁力搜索网站: 搜索网 https://btsow.pw/tags https://cn.torrentkitty.tv https://www.ciliurl.com/ http://www.zhizhuc.com/ https://www.a…

几款磁力搜索引擎,找资料更方便

Bt177.info 一款强大的磁力搜索引擎网站&#xff0c;这款网站包含有7万多个磁力链接&#xff0c;提供提供网盘形式和磁力形式的储存&#xff0c;有很多你想要的东西。如果是音频和视频的话支持在线观看。 Bt977 磁力搜索引擎&#xff0c;支持网盘播放&#xff0c;磁力下载。 To…

搜索下载神器

前言 新闪存云app是一款功能非常强大的云盘软件&#xff0c;为用户提供了非常给力资源搜索功能&#xff0c;支持多种下载方式&#xff0c;让你在这里体验全网最快速的资源下载&#xff0c;多种格式的文件以及视频也都可以在这里进行下载并进行解析&#xff0c;操作十分的简单&a…

基于python的种子搜索网站,你懂得!

该项目是基于python的web类库django开发的一套web网站&#xff0c;给师弟做的毕业设计。本人的研究方向是一项关于搜索的研究项目。在该项目中&#xff0c;笔者开发了一个简单版的搜索网站&#xff0c;实现了对数据库数据的检索和更新。通过开发该项目&#xff0c;笔者学习和巩…

android下载工具 磁力,【安卓+iOS】磁力搜索+下载工具

【安卓iOS】磁力搜索下载工具 2020-03-29 19:46:20 3点赞 16收藏 2评论 1、比特舟Pro(安卓) 比特舟Pro是一款磁力搜索工具&#xff0c;支持BT和磁力搜索。前身是比特羊&#xff0c;后来改名比特知了&#xff0c;现在又一此改名。名字虽然变了&#xff0c;功能还是一样。 想搜什…

Ubuntu 能直接搜 BT 种子了

Ubuntu的Dash搜索工具允许用户搜索本地和在线资源如亚马逊和维基百科上的内容。现在&#xff0c;一位第三方开发者为Dash搜索工具加入了BT搜索功能&#xff0c;允许用户搜索海盗湾上的torrent文件。这项功能获得了 Canonical 创始人Mark Shuttleworth的支持。 Canonical表示&am…

利用Python爬虫建立自己的磁力搜索引擎

现在磁力站很多,但是搜出来的东西乱七八糟的,广告也多,我看多了觉得挺烦的,正好周末无聊,想着自己做一个,下面附上本次利用Python爬虫磁力站点的教程。 下面是我写爬虫时候主要引用的库 当然,抓取的关键词可以自己从代码里设置,比如title,文件大小之类的。 但我怎么知…

TT盒子种子搜索神器

2、软件名称&#xff1a;tt盒子种子搜索神器 3、软件版本&#xff1a;V1.5 4、软件大小&#xff1a;2.31MB 5、软件作者及网址&#xff1a;TT盒子 网站&#xff1a;www.tthezi.com 6、软件类别&#xff1a;搜索引擎 7、软件语言&#xff1a;简体中文 8、软件授权&#xff1a;免…

想做个磁力链搜索引擎 3

上一篇中&#xff0c;我们已经实现了对tracker的访问&#xff0c;从而获取到了peer对等体的ip地址以及端口号。我们这一篇要实现的是对等体之间的通讯。 在bt种子下载中&#xff0c;对等体就是正在下载你需要文件的另一台主机或提供下载你需要文件的主机。每一个种子一开始都是…

[搜片神器]直接从DHT网络下载BT种子的方法

转自:http://www.cnblogs.com/miao31/p/3332819.html DHT抓取程序开源地址:https://github.com/h31h31/H31DHTDEMO 数据处理程序开源地址:https://github.com/h31h31/H31DHTMgr DHT系列文章: 1.[搜片神器] 之P2P中DHT网络爬虫原理 2.[搜片神器]之DHT网络爬虫的代码实现方法…

P2P下载器-P2P种子搜索器

P2P种子搜索器(p2psearcher)是一款集种子搜索器和在线云点播于一身的实用工具&#xff0c;基于先进的P2P搜索技术&#xff0c;可在瞬间搜遍全球ED2k网络资源。p2psearcher搜到的视频资源可以直接在右侧的云点播播放页面试播预览&#xff0c;并且提供高品质观影效果。需要的朋友…

这才是CSDN最系统的网络安全学习路线(建议收藏)

01 什么是网络安全 网络安全可以基于攻击和防御视角来分类&#xff0c;我们经常听到的 “红队”、“渗透测试” 等就是研究攻击技术&#xff0c;而“蓝队”、“安全运营”、“安全运维”则研究防御技术。 无论网络、Web、移动、桌面、云等哪个领域&#xff0c;都有攻与防两面…

网络安全学习资源分享

提高技能 网络安全学习资源汇总 项目描述OWASP安全的牧羊人&#xff08;https://security-shepherd.ctf365.com/login.jsp&#xff09;作为11/6破ctflearn&#xff08;https://ctflearn.com/&#xff09;基于CTF网站账户&#xff0c;用户可以在解决一系列挑战ctfs写-不间断电…

网络安全学习路线,入门到入坟,史上最全网络安全学习路线整理

很多小伙伴在网上搜索网络安全时&#xff0c;会出来网络安全工程师这样一个职位&#xff0c;它的范围很广&#xff0c;只要是与网络安全挂钩的技术人员都算网络安全工程师&#xff0c;一些小伙伴就有疑问了&#xff0c;网络安全现在真的很火吗&#xff1f; 那么寒哥就带大家看…

网络安全学习:安全学习

特别有用 赶脚,,,赶脚,,,这组比较像,,,因为响应头带了个audio&#xff0c;再巴拉开响应头看看&#xff1a; 就是你了 /20170407233726/7bcb1a38c8e959f677b58519ac8a2958/ymusic/9c2b/57dd/26dc/df6def971d6cdd160d347dcb6a1c18f4.mp3 之后就不在C盘的缓存文件夹里巴拉了&…

网络安全(黑客)学习路线

目录 背景 那么要怎么才能成为一名黑客呢&#xff1f; &#xff08;1&#xff09;基础部分 ​编辑&#xff08;1.1&#xff09;计算机网络 &#xff1a; &#xff08;1.2&#xff09;Linux 系统及命令 &#xff1a; &#xff08;1.3&#xff09;Web 框架 &#xff1a; &…