数据分析案例--淘宝用户行为分析

一、项目背景
对淘宝用户行为进行分析,从而探索淘宝用户的行为模式,具体指标包括:日PV和日UV分析,付费率分析,复购行为分析,漏斗流失分析和用户价值RFM分布
二、数据来源
https://tianchi.aliyun.com/dataset/dataDetail?dataId=46&userId=1
三、提出问题
1.日PV有多少
2.日UV有多少
3.付费率情况如何
4.复购率是多少
5.漏斗流失情况如何
6.用户价值情况
四、理解数据
本数据集共有104万条左右数据,数据为淘宝APP2014年11月18日到2014年12月18日的用户行为数据,共计6列字段,列字段分别是:
user_id:用户身份,脱敏
item_id:商品ID,脱敏
behavior_type:用户行为类型(包含点击,收藏,加购物车,支付四种行为,分别用数字1、2、3、4表示)
user_geohash:地理位置
item_category:品类ID(商品所属的品类)
time:用户行为发生的时间
五、数据清洗
5.1导入python中的包

import pandas as pd
from matplotlib import pyplot as plt
import numpy as py
%matplotlib inline
import matplotlib.pyplot as plt
import seaborn as sns
data_user = pd.read_csv(r'H:\python案例分析,淘宝\tianchi_mobile_recommend_train_user.csv')
data_user.head()

读取前5行
在这里插入图片描述
看看一共有多少行的数据

data_user.shape

在这里插入图片描述
查看数据类型

data_user.info()

在这里插入图片描述
5.2缺失值处理

#缺失值处理
missingTotal=data_user.isnull().sum()
print(missingTotal)

在这里插入图片描述
可以看到user_geohash缺失值为8334824,而其他列不缺

这个缺失值,不能删除,因为有其他的关联信息,所以我们这里暂不处理
5.3数据处理。拆数据集
在这里插入图片描述
我们把日期和小时拆开,分成两列
拆分日期

#一致化处理
import re
#拆分数据集
data_user['date']=data_user['time'].map(lambda s:re.compile(' ').split(s)[0])
#这个S是data_user['time']的结果,然后通过map函数映射到lambda函数

拆分小时

data_user['hour']=data_user['time'].map(lambda s:re.compile(' ').split(s)[1])
#lambda只是一个表达式,没有函数体,lambda arg1,arg2,arg3,……:expression
#arg1,arg2,arg3表示具体的参数,expression表示参数要执行的操作
data_user.head()

在这里插入图片描述
可以看到已经拆分成两列了


下面讲解一下,这个re.compile()函数
在这里插入图片描述


5.4查看data_user数据集数据类型

data_user.dtypes

在这里插入图片描述
发现time列和date列应该转化为日期类数据类型,hour列应该是字符串数据类型

#数据类型化
data_user['date']=pd.to_datetime(data_user['date'])
data_user['time']=pd.to_datetime(data_user['time'])
data_user['hour']=data_user['hour'].astype('int64')
data_user.dtypes

在这里插入图片描述
5.5异常值处理

data_user=data_user.sort_values(by='time',ascending=True)
data_user

在这里插入图片描述

data_user=data_user.reset_index(drop=True)
data_user

在这里插入图片描述

#异常值处理
data_user=data_user
  • 9
    点赞
  • 96
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值