数据分析—淘宝用户行为分析

这篇博客详细介绍了淘宝用户行为数据分析的过程,包括数据收集、清洗,以及流量和用户行为的初步分析。通过Python、numpy和pandas等工具,作者从天池数据集中抽取并清洗了2%的数据,之后导入Mysql进行分析。在数据清洗阶段,作者处理了重复值、缺失值,转换了日期格式,并进行了数据导出。在分析部分,对流量、用户行为和商品转化率进行了探讨。
摘要由CSDN通过智能技术生成

 

 

关键词:

数据分析;项目;Python;numpy;pandas;SQL;Mysql;

前言

本篇分析报告为巩固所学知识,内容详尽,为各位热衷于数据分析的小伙伴提供参考。

简洁的报告文将另起一篇。

一、数据收集

1.1 数据来源

本文分析基础的数据集来源:天池数据

该数据集是阿里巴巴官方公开的淘宝用户行为历史数据,用于反馈推荐问题的研究

文件名称 说明 包含特征
UserBehavior.csv 包含所有的用户行为数据 用户ID,商品ID,商品类目ID,行为类型,时间戳

本数据集包含了2017年11月25日至2017年12月3日之间,有行为的约一百万随机用户的所有行为(行为包括点击、购买、加购、喜欢)。数据集的每一行表示一条用户行为,由用户ID、商品ID、商品类目ID、行为类型和时间戳组成,并以逗号分隔。关于数据集中每一列的详细描述如下:

列名称(Field) 说明(Explanation)
User ID 整数类型,序列化后的用户ID
Item ID 整数类型,序列化后的商品ID
Category ID 整数类型,序列化后的商品所属类目ID
Behavior type 字符串,枚举类型,包括('pv', 'buy', 'cart', 'fav')
Timestamp 行为发生的时间戳

行为类型(Behavior type)共有四种,分别是

行为类型(Behavior type) 说明(Explanation)

pv

商品详情页pv,等价于点击
buy 商品购买
cart 将商品加入购物车
fav 收藏商品

1.2 数据导入

数据集大小的一些说明如下

维度 数量
用户数量 987,994
商品数量 4,162,024
商品类目数量 9,439
所有行为数量 100,150,807

1.2.1 随机抽取

鉴于计算机硬件原因,分析实用数据将从原数据集不放回随机抽样2%的数据,约为200W条。

图例1
import pandas as pd

file_path = 'D:/Project/UserBehavior.csv'
data = pd.read_csv(file_path)
data = data.sample(frac=0.02, replace=False, axis=0)

data.info()

并查看数据信息

图例2

以新文件名UserData导出为新CSV:

data.to_csv('D:/Project/UserData.csv')

1.2.2 数据观察

笔者本想通过Excel观察数据集UserData,但是有以下两个问题:

      1.Excel处理行数存在上限,打开CSV文件不完全,打开时间缓慢

图例3

      2.虽然不可以导入全部数据,但也可以观察到UserData数据集出现需删除的首列,且缺少标题值

图例4

因此笔者将直接借用Pandas修改数据集,代码如下:

file_path = 'D:/Project/UserData.csv'
df = pd.read_csv(file_path)             #保存为DataFrame格式,存入变量df
df

数据展示如下:

图例5

1.2.3 数据格式修整

首先删除首列序号:

#修整格式
del df['Unnamed: 0']
df
图例6

设置列索引名

field = ['User ID', 'Item ID', 'Category ID', 'Behavior type', 'Timestamp']
df.columns = field
df

修改后:

图例7

保存:

df.to_csv(file_path)

1.2.4 导入Mysql

首先创建名为datauser的数据库,这里使用Mysql命令行创建

mysql> CREATE DATABASE userdata;

接下来为了方便选择,采用图形交互界面workbench创建表,命名为taobaodata。

图例8

不幸的是创建完表后,导入数据发现数据集有很多大问题。

一是pandas导出发现数据集首行为char型的索引名,所以需要重读和重导设置参数header=False,不保存首行,也可以加上index=False。

其二是复制十行做测试的时候发现,excel保存UTF-8 会自带Bom文件,即首行首个字段会带不可见字符 :/FEFE ,所以,需要下载 notepad++ 将其格式保存为UTF-8。

其三,打开csv文件会发现其每行的字段间的分隔符是‘,’所以需将其按逗号分隔,且每行按换行符'\n'分隔,代码如下:

> LOAD DATA INFILE 'D:/Project/UserData.csv' INTO TABLE userdata.taobaodata
    -> FIELDS TERMINATED BY ','
    -> LINES TERMINATED BY '\n'
    -> ;

其四,还有个注意的地方是,一开始还有'%secure_file_priv%'的权限问题,查找工具书设置好就行。(将另写文章)

打开workbench,发现已经导入好数据:

<
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值