python语言计算消费总额_如何用Python进行消费用户的RFM分析

本文主要是介绍如何用Python对客户的消费记录进行RFM分析。

具体的思路如下:导入数据——数据概览——数据处理——RFM分析——简单的可视化操作

一、数据的导入本文的分析主要用到pandas模块,因此首先在Python中导入pandas模块,取别名为pd。

用pd.read_csv读取数据文件,由于文件路径上有中文,所以要令engine='python',解码方式用utf8,具体程序如下:

import pandas as pd

data = pd.read_csv(

r'C:\Users\86135\Desktop\消费用户的RFM价值分析及可视化\sales.csv',

engine='python' , encoding='utf8'

)

二、数据概览

由于我是使用Spyder来进行数据分析的,在Spyder工作界面右上角有一个变量浏览窗口,这里我们只需要双击我们要查看的变量就行,具体结果如下:Spyder变量浏览界面

通过变量浏览窗口的“Size”字段可以得到相应变量的大小信息,看得出来,该数据集86135行,4个字段构成。

接下来双击该变量以查看该数据集的具体情况:Spyder变量的具体展示窗口

通过上图我们看到了数据集包含几个英文字段,为了方便识别,这里将他们进行重命名:

data.columns = ['用户ID','订单时间','订单ID','交易金额']

三、数据处理

本文对数据进行的处理包括:删除重复值、缺失值处理、标准化处理、异常值处理

1、删除重复值

首先我们看一下数据集是否有重复值

data[data.duplicated()]

得出的结果为Empty DataFrame,即该数据集没有重复项

2、缺失值处理

首先还是要看一下缺失值的情况,以确定用什么方式进行处理

data.isnull().sum()

得到结果如下:

用户ID 0

订单时间 2

订单ID 0

交易金额 8

由于缺失值数量(最多就10项)对比于总的数据量(86135项)来说太少了,所以这里对其直接进行删除:

data=data.dropna()

# 删除缺失项之后,索引会有缺失,可能会影响后续操作,所以对索引进行重新的处理

data.index=range(data.shape[0])

3、标准化处理

主要是对“订单时间”字段进行处理,将该字段的数据变成Python中的时间类型:

data['订单时间'] = pd.to_datetime(data['订单时间'] , format='%Y/%m/%d')

4、异常值处理

首先是看一下时间有没有存在异常值:

data['订单时间'].min()

得到结果:Timestamp(&

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值