Python数据分析-------对国外某CD销售数据分析

通过对1997-1998年CD销售数据的分析,发现消费金额在前三个月达到峰值,后续稳定下降;每月消费人数少于消费次数,前三个月集中在8000-10000人;用户消费行为显示,大部分用户消费较低,初次购买集中在前3个月,后期用户留存率下降。
摘要由CSDN通过智能技术生成

1.数据背景描述:

这是一份用户消费行为的分析报告 数据来源于国外,是用户在一家CD网站上的消费记录。内容包含了1997-1998年全年的消费记录,列字段主要有购买时间,购买金额,用户Id,购买次数。

2.提出需求:

2.1用户分析消费趋势(每月)包括以下类目:

  2.1.1每月的消费总金额
  2.1.2每月消费次数
  2.1.3每月产品购买量
  2.1.4每月消费人数

2.2用户个体消费分析

   2.2.1用户消费金额和消费散点图用户消费金额,消费次数的描述统计。
   2.2.2用户消费金额分布图
   2.2.3用户消费次数的分布图
   2.2.4用户累计消费金额占比

2.3)用户消费行为

   2.3.1用户第一次消费
   2.3.2用户最后一次消费
   2.3.3新老消费比
   2.3.4使用RFM对新老用户分层

3.总结

------------------------分割线----------------------------------------------------------------------------------------------------

分析前的工作

我们先导入pandas包和numpy包。
我们先给列字段命名

 import pandas as pd
 import numpy as np
 columns=['user_id','order_dt','order_amount']

user_id:用户id
order_dt:购买时间
order_products:购买产品数
order_amount:购买金额
此时由于源数据为txt格式我们这里使用pandas下的read_table,而且因为源数据使用的是空格来分割数据我们这里在read_table方法例加上sep=’\s+'这里主要是使用的类似正则表达式
如下:

df=pd.read_table('CDNOW_master.txt',names=columns,sep='\s+')

我们先看看这个表的概况:
df.head()
在这里插入图片描述
df.info() 和 df.describe()
在这里插入图片描述
用describe下的表可以看出大部分订单只消费了少量商品(平均只有2.4) 存在极值干扰。

用户的消费金额比较稳定,平均消费35源,中位数35,存在极值干扰。

使用pandas下的to_datetime把时间解析此时数据格式为C语言下时间的格式。

df['order_dt']=pd.to_datetime(df.order_dt,format='%Y%m%d')

我们把月份转换为时间格式 作用就是我们可以直接调用month月份 这里的M也可以变成Y 那就是调取年份了

df['month']=df.order_dt.values.astype('datetime64[M]')

2.1进行用户消费趋势的分析(按月)

2.1.1每月的消费总金额
由于是按月分析我们先将month聚合

 grouped_month=df.groupby('month')

因为是要对每月的消费金额进行统计我们对聚合好的数据使用sum()函数

order_month_amount=grouped_month.order_amount.sum()   

结果如下
在这里插入图片描述
我们此时使用图表来让数据可视化

 import matplotlib.pyplot as plt
%matplotlib inline

这里的%是为了调用jupyter的内置函数主要的目的就是将可视化显示在页面

plt.style.use('ggplot')

更改设计风格

order_month_amount.plot()

让order_month_amount可视化
效果图如下
在这里插入图片描述
小结:有上图可知,消费金额在前3个月到达最高峰,后续消费金额稳定,有轻微下跌趋势。

2.1.2每月消费次数


                
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值