用户消费数据分析,基于python

 

目录

一、数据的类型处理

1.1 数据加载

 1.2 观察数据

二、按月数据分析

2.1 用户每月花费的总金额

2.2 所有用户每月的产品购买量

2.3 所有用户每月的消费总次数

2.4 统计每月的消费人数

三、用户个体消费数据分析

3.1 用户消费总金额和消费总次数的统计描述

3.2 用户消费金额和消费产品数量的散点图

3.3 各个用户消费总金额的直方分布图

3.4 各个用户消费的总数量的直方分布图

四、用户消费行为分析 

4.1 用户第一次消费的月份分布和人数统计

4.2 用户最后一次消费的月份分布和人数统计

4.3 新老客户的占比 

4.4 用户分层

4.4.1 分析得出每个用户的总购买量、总消费金额、最近一次消费的时间表格rfm

4.4.2 RFM模型指标计算

五、用户的生命周期

5.1 统计每个用户每个月的消费次数

5.2 统计每个用户每个月是否消费,消费记录为1否则记录为0

5.3 判断用户活跃度

5.4 每月不同活跃用户的计数


数据源:采集了大概7万条用户消费记录,4列(id,消费时间,购买数量,消费金额)

用户消费数据分析,基于python_第1张图片

一、数据的类型处理

用户消费数据分析,基于python_第2张图片

1.1 数据加载

用户消费数据分析,基于python_第3张图片

1.2 观察数据

查看数据类型,检查是否存在空值

用户消费数据分析,基于python_第4张图片

转换为时间类型

用户消费数据分析,基于python_第5张图片用户消费数据分析,基于python_第6张图片

用户消费数据分析,基于python_第7张图片

 查看数据的统计描述

用户消费数据分析,基于python_第8张图片

添加列表示月份

用户消费数据分析,基于python_第9张图片

二、按月数据分析

用户消费数据分析,基于python_第10张图片

2.1 用户每月花费的总金额

用分组聚合操作

用户消费数据分析,基于python_第11张图片

 绘制曲线图

用户消费数据分析,基于python_第12张图片

2.2 所有用户每月的产品购买量

用户消费数据分析,基于python_第13张图片

2.3 所有用户每月的消费总次数

聚合时用到count()统计数据的行数

用户消费数据分析,基于python_第14张图片

用户消费数据分析,基于python_第15张图片

2.4 统计每月的消费人数

需要用到去重操作unique(),nunique()统计去重后的元素个数

用户消费数据分析,基于python_第16张图片

用户消费数据分析,基于python_第17张图片

三、用户个体消费数据分析

用户消费数据分析,基于python_第18张图片

3.1 用户消费总金额和消费总次数的统计描述

用户消费数据分析,基于python_第19张图片

用户消费数据分析,基于python_第20张图片

3.2 用户消费金额和消费产品数量的散点图

用户消费数据分析,基于python_第21张图片

3.3 各个用户消费总金额的直方分布图

用户消费数据分析,基于python_第22张图片

用户消费数据分析,基于python_第23张图片

3.4 各个用户消费的总数量的直方分布图

用户消费数据分析,基于python_第24张图片

四、用户消费行为分析 

用户消费数据分析,基于python_第25张图片

用户消费数据分析,基于python_第26张图片

4.1 用户第一次消费的月份分布和人数统计

用户消费数据分析,基于python_第27张图片

 统计Series中或者说DataFrame某列中的各元素出现的次数用到value_counts()

用户消费数据分析,基于python_第28张图片

 绘制线形图

用户消费数据分析,基于python_第29张图片

4.2 用户最后一次消费的月份分布和人数统计

用户消费数据分析,基于python_第30张图片

4.3 新老客户的占比 

 agg():分组之后进行多种指定形式的聚合

用户消费数据分析,基于python_第31张图片

用户消费数据分析,基于python_第32张图片

再对这两行数据即可求出占比 

4.4 用户分层

4.4.1 分析得出每个用户的总购买量、总消费金额、最近一次消费的时间表格rfm

用到透视表pivot_table

aggfunc的作用就是对哪些列做对应的什么聚合操作,因此是以字典的形式赋值,并且这里因为要对三列分别做不同的聚合操作,所以用透视表很合适。

用户消费数据分析,基于python_第33张图片

4.4.2 RFM模型指标计算

F和M指标已计算出,下面只需计算R指标。

用户消费数据分析,基于python_第34张图片

将days去掉

用户消费数据分析,基于python_第35张图片

删除无用列,修改列索引

用户消费数据分析,基于python_第36张图片

运用到了apply()函数和map()函数的自定义运算功能

apply()是DataFrame的一个运算工具,map()是Series的一个运算工具

用户消费数据分析,基于python_第37张图片

用户消费数据分析,基于python_第38张图片

五、用户的生命周期

——将用户划分为活跃用户和其他用户

用户消费数据分析,基于python_第39张图片

5.1 统计每个用户每个月的消费次数

用到透视表pivot_table

用户消费数据分析,基于python_第40张图片

 将NaN转为‘0’,用到fillna()

用户消费数据分析,基于python_第41张图片

5.2 统计每个用户每个月是否消费,消费记录为1否则记录为0

注意applymap()和apply()的区别(见本章开头图红框)

这里需要对5.1中的df里每个元素进行操作,因此使用applymap()

用户消费数据分析,基于python_第42张图片

5.3 判断用户活跃度

用户消费数据分析,基于python_第43张图片

 df.apply()返回的是Series,这个Series里面的每个元素就是active_status函数返回的status列表

用户消费数据分析,基于python_第44张图片

下面将上述结果填充回DataFrame之中

用户消费数据分析,基于python_第45张图片

用户消费数据分析,基于python_第46张图片 用户消费数据分析,基于python_第47张图片

优化:可以一开始就不用apply,而是用applymap,对每个元素进行操作,直接返回一个DataFrame 

5.4 每月不同活跃用户的计数

用户消费数据分析,基于python_第48张图片

 转置一下,方便查看

用户消费数据分析,基于python_第49张图片

你可能感兴趣的:(pandas,matplotlib,numpy,数据分析,大数据)