基于Python实现大型家用电器和电子产品在线商店购买数据分析【500010098】

news2024/11/15 15:52:30

导入模块

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

获取数据

df= pd.read_csv( r"./data/kz.csv",sep=',')

数据描述

该数据包含2020年4月至2020年11月从大型家用电器和电子产品在线商店购买的数据。

数据说明

  • event_time:行为类别
  • event_type:行为类别
  • product_id :产品编号
  • category_id :产品的类别ID
  • category_code:产品的类别分类法(代码名称)
  • brand:品牌名称
  • price:产品价格
  • user_id:用户ID

数据信息

df.shape

image.png

df.info()

image.png

df.head()

image.png

数据处理

# 对比每一列数据大小,判断有无缺失值
df.isnull().any()

image.png

# 因为数据较大,删除掉缺失数据
df=df.dropna()
# 判断有无重复值
df.duplicated()
# 删除重复值
df=df.drop_duplicates()

image.png

df.shape

image.png

df.describe()

image.png
产品平均价格为250元,中位数为150元,为左偏型数据分布

# 修改时间列数据类型 预计时间:5~6分钟
df['event_time']=df['event_time'].apply(pd.to_datetime) 
df['month'] = df.event_time.values.astype('datetime64[M]')

df.info()

image.png

数据处理

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

df_month=df.groupby(['month'])
每月的消费总金额

image.png
由上图可知:

  1. 消费金额在4到8月总体呈上升形态
  2. 8月单月消费总额最高,超过2500万元
  3. 自8月以后消费出现明显下滑趋势
每月的消费人数

image.png
用户数量变化趋势同消费总额变化趋势较为一致
image.png
上下两图对比可知,在4到8月两图总体呈上升变化,均在8月份达到最高值,而后开始显现下滑趋势。
特别关注点在7月份,两图中,7月皆为拐点位置。图一中7月后增势更加明显,图二中7月后消费人数增长减缓。两者结合可知,7月用户购买单价有所提高。

进行品牌消费情况分析

各品牌产品消费总金额

image.png
销售前20名品牌中,三星和苹果表现尤为强势,远超其他品牌

各品牌用户数量

image.png
在用户数量上,三星一枝独秀,遥遥领先于其他品牌。接近为苹果用户数的三倍,而两者销售额约6%,可见苹果人均用户消费远大于三星用户人均消费。 另外上述两幅图数据变化趋势,明显也满足二八原则。

用户个体消费分析

用户消费金额、消费次数的描述性统计
df_=df.copy()
df_.index=df_['event_time']

df_user=df_["2020-04":"2020-11"].groupby('user_id')
df_user.sum().describe()

image.png

df_user.count().describe()

image.png
用户平均消费1117元,50%用户消费447元,差距较大。说明大部分用户消费较低,小部分用户发生了高消费。

用户消费次数、消费金额散点图

image.png

用户消费金额分布图

image.png
从直方图可知,用户消费金额,绝大多数呈现集中趋势

用户消费次数分布图

image.png
使用切比雪夫定理过滤掉异常值,计算95%的数据分布情况

用户累计消费金额占比

image.png
根据用户分组计数后的描述性统计结果,共有89195位客户.结合上图,可知: 50%客户仅贡献了约10%的消费金额;8万名累计消费总额占比仍未超过一半,累计占比约为45%。

用户消费行为

用户第一次消费

image.png
用户第一次购买集中在4月份,之后4月末出现剧烈波动,骤然下滑。
7至9月,新客每天稳步增长;10月,11月两月新客较少;整体新客数量呈现下滑趋势。

用户最后一次消费

image.png
用户最后一次购买集中在7月中旬至9月中旬,4月至7月客户流失较少。

新老客消费占比
user_life=df_user.event_time.agg(['min','max'])
user_life.head()

image.png

(user_life['min']==user_life['max']).value_counts()

image.png
有一半用户,只消费了一次。

用户分层(RFM)
rfm=df_["2020-04":"2020-11"].pivot_table(index='user_id'
                         ,values=['price','event_type','event_time']
                         ,aggfunc={'price':'sum','event_type':'count','event_time':'max'}
                                        )
rfm.head()

image.png

rfm['R']=-(rfm.event_time-rfm.event_time.max())/np.timedelta64(1,'D')
rfm.head()

image.png

rfm.rename(columns={'event_type':'F','price':'M'},inplace=True)
rfm['label'] = rfm[['R','F','M']].apply(lambda x:x-x.mean()).apply(rfm_func,axis=1)
rfm

image.png

rfm.groupby('label').agg(['sum','mean','count'])

image.png
上表可见

  1. 重要客户平均购买频次低于一般客户,但重要客户平均消费远超为一般客户人均消费;
  2. 重要客户总数为一半客户1/3,但重要客户消费金额约为一般客户的10倍;
  3. 重要客户平均购买频次低于一般客户;
  4. 在最近一次购买时期上,重要客户同一般客户没有明显区别;

image.png

rfm.head()

image.png

用户生命周期(第一次和最后一次)
用户周期描述
((user_life['max']-user_life['min'])/np.timedelta64(1,'D')).describe()

image.png

用户周期分布

image.png
用户周期分布,平均生命周期为22天 绝大多数用户生命周期为0天,说明新客流失严重。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1223233.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

嵌入式中一文搞懂ARM处理器架构

1、嵌入式处理器基础 典型的微处理器由控制单元、程序计数器(PC)、指令寄存器(IR)、数据通道、存储器等组成 。 指令执行过程一般分为: 取指: 从存储器中获得下一条执行的指令读入指令寄存器;…

Redis篇---第六篇

系列文章目录 文章目录 系列文章目录前言一、Redis 为什么设计成单线程的?二、什么是 bigkey?会存在什么影响?三、熟悉哪些 Redis 集群模式?前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,…

从0开始学习JavaScript--JavaScript 流程控制

JavaScript中的流程控制结构是编写结构化、可读性强的代码的关键。本文将深入研究JavaScript中的流程控制,包括条件语句、循环结构、跳转语句等,并通过丰富的示例代码来更全面地了解和运用这些概念。 条件语句 条件语句用于基于不同的条件执行不同的代…

基于PLC的污水厌氧处理控制系统(论文+源码)

1. 系统设计 污水厌氧由进水系统通过粗格栅和清污机进行初步排除大块杂质物体以及漂浮物等,到达除砂池中。在除砂池系统中细格栅进一步净化污水厌氧中的细小颗粒物体,将污水厌氧中的细小沙粒滤除后进入氧化沟反应池。在该氧化沟系统中进行生化处理&…

抖音直播间涨粉助手,其开发流程与需要的技术和代码分享

先来看实操成果,↑↑需要的同学可看我名字↖↖↖↖↖,或评论888无偿分享 一、直播间涨人气的15种方法 直播间的人气就像水池中的水,想要有源源不断的流量,就要想办法把水龙头的水流开到最大,也就是要增加直播间曝光率&…

使用maven命令打包依赖

1、maven仓库地址 阿里云地址:https://developer.aliyun.com/mvn/search 中央仓库地址:https://mvnrepository.com/ 2、下载方式 在地址栏中输入要搜索的依赖 选择需要的版本 (1)直接复制 (2)pom下载 …

如何使用Gitlab搭建属于自己的代码管理平台

大家好,我是Mandy。今天分享的主题内容是如何使用GitLab搭建属于自己的代码管理平台。 为什么会单独分享这篇文章呢,相信在很多的开发同学任职的公司中,都用到了gitlab来做代码管理平台,同时结合GitLab的一些自动化功能&#xff…

均匀光源积分球的应用领域有哪些

均匀光源积分球的主要作用是收集光线,并将其用作一个散射光源或用于测量。它可以将光线经过积分球内部的均匀分布后射出,因此积分球也可以当作一个光强衰减器。同时,积分球可以实现均匀的朗伯体漫散射光源输出,整个输出口表面的亮…

基于算术优化算法优化概率神经网络PNN的分类预测 - 附代码

基于算术优化算法优化概率神经网络PNN的分类预测 - 附代码 文章目录 基于算术优化算法优化概率神经网络PNN的分类预测 - 附代码1.PNN网络概述2.变压器故障诊街系统相关背景2.1 模型建立 3.基于算术优化优化的PNN网络5.测试结果6.参考文献7.Matlab代码 摘要:针对PNN神…

【踩坑笔记】国科GK7202V300芯片开发常见问题解决办法

国科Linux芯片开发常见问题&解决办法 0.读前须知 不管什么时候,下载程序还是啥,一定要检查路径!!!别问我为什么,呜呜呜~ tips:该芯片是仿造海思的产品,所以,有些不…

基于热交换算法优化概率神经网络PNN的分类预测 - 附代码

基于热交换算法优化概率神经网络PNN的分类预测 - 附代码 文章目录 基于热交换算法优化概率神经网络PNN的分类预测 - 附代码1.PNN网络概述2.变压器故障诊街系统相关背景2.1 模型建立 3.基于热交换优化的PNN网络5.测试结果6.参考文献7.Matlab代码 摘要:针对PNN神经网络…

git基本操作(配图超详细讲解)

个人主页:Lei宝啊 愿所有美好如期而遇 目录 创建git本地仓库 配置仓库 认识工作区,暂存区,版本库 修改文件 版本回退 撤销修改 删除文件 创建git本地仓库 要提前说的是,仓库是进⾏版本控制的⼀个⽂件⽬录。我们要想对⽂…

OpenCV C++ 图像处理实战 ——《OCR字符识别》

OpenCV C++ 图像处理实战 ——《OCR字符识别》 一、结果演示二、tesseract库配置2.1下载编译三、OCR字符识别3.1 文本检测方式3.1.1 RIL_BLOCK3.1.2 RIL_PARA3.1.3 RIL_TEXTLINE3.1.4 RIL_WORD3.1.5 RIL_SYMBOL3.2 英文文本检测3.3 中英文本检测四、源码测试图像下载总结一、结…

如何从回收站恢复已删除的文件

我们在各个领域都使用计算机。无论是专业工作还是个人工作,我们在生活中总能找到计算机的用途。因此,我们在很大程度上依赖于我们的计算机。计算机是办公室和企业部门使用的高效机器。 人们使用个人计算机发送电子邮件、创建文档、听音乐和观看视频等等…

十二.Jenkins持续集成

十二.Jenkins持续集成 一.安装jenkins 1.下载 Jenkins下载地址:http://jenkins-ci.org/ 或 https://mirrors.jenkins-ci.org/redhat/2.安装 可以通过官网的安装方式来安装 安装完后,需要修改以下的配置 vim /usr/lib/systemd/system/jenkins.servic…

lectin

PSGL-1 ; selectin O-linked glycosylation | Detailed Pedia PSGL-1 has several O-glycans to extend the ligand away from the cell surface. An sLex epitope allows interactions with the receptor for leukocyte localisation. 分类 --Recognition by Animal Lectins…

MatLab的下载、安装与使用(亲测有效)

1、概述 MatLab是由MathWorks公司开发并发布的,支持线性代数、矩阵运算、绘制函数和数据、信号处理、图像处理以及视频处理等功能。广泛用于算法开发、数据可视化、数据分析以及数值计算等。 Matlab 的主要特性包括: 简单易用的语法,使得程…

训练模型报错RuntimeError: Input, output and indices must be on the current device

问题出现: 当我训练图网络模型时,源码默认使用cpu,查看后台性能运行,发现正在使用cpu训练,这大大降低了训练速率,并且增加了电脑负载。所以我决定将模型改造并训练放在GPU上运行。 我在train方法中&#xf…

CentOS 7搭建Gitlab流程

目录 1、查询docker镜像gitlab-ce 2、拉取镜像 3、查询已下载的镜像 4、新建gitlab文件夹 5、在gitlab文件夹下新建相关文件夹 6、创建运行gitlab的容器 7、查看docker容器 8、根据Linux地址访问gitlab 9、进入docker容器,设置用户名的和密码 10、登录git…

Windos操作系统下的Zookeeper安装图文教程

凯哥已经准备好最新版本3.9.1且已经配置好了。既获取到配置好的。 获取到凯哥准备的安装后,只需要修改一下配置。将解压包解压后,找到conf文件,里面有个zoo.cfg配置文件。如下图: 下载后conf文件夹内容 打开zoo.cfg配置文件后&a…