python基于淘宝历史数据的用户行为分析(一)

简介: python基于淘宝历史数据的用户行为分析(一)

1、项目背景与分析说明

1)项目背景

 网购已经成为人们生活不可或缺的一部分,本次项目基于淘宝app平台数据,通过相关指标对用户行为进行分析,从而探索用户相关行为模式。


2)数据和字段说明

 本文使用的数据集包含了2014.11.18到2014.12.18之间,淘宝App移动端一个月内的用户行为数据。该数据有12256906天记录,共6列数据。


user_id:用户身份

item_id:商品id

behavior_type:用户行为类型(包括点击、收藏、加入购物车、支付四种行为,分别用数字1、2、3、4表示)

user_geohash:地理位置

item_category:品类id(商品所属的分类)

time:用户行为发生的时间

3)分析的维度

流量指标分析

用户行为分析

漏斗流失分析

用户价值RFM分析

4)电商常用分析方法

image.png


5)什么是漏斗分析?

“漏斗分析”是一套流程式数据分析,它能够科学反映用户行为状态,以及从起点到终点各阶段用户转化率情况的一种重要分析模型。

image.png

2、导入相关库

import numpy as np 
import pandas as pd 
import matplotlib as  mpl
import matplotlib.pyplot as  plt 
import seaborn as sns
import warnings
# 设置为seaborn绘图风格
sns.set(style="darkgrid",font_scale=1.5)
# 用来显示中文标签
mpl.rcParams["font.family"] = "SimHei"
# 用来显示负号
mpl.rcParams["axes.unicode_minus"] = False
# 有时候运行代码时会有很多warning输出,像提醒新版本之类的,如果不想这些乱糟糟的输出,可以使用如下代码
warnings.filterwarnings('ignore')

3、数据预览、数据预处理

# 注意:str是为了将所有的字段都读成字符串
df = pd.read_csv("taobao.csv",dtype=str) 
df.shape
df.info()
df.sample(5)


结果如下:

image.png


1)计算缺失率

# 由于地理位置的缺失值太多,我们也没办法填充,因此先删除这一列
df.apply(lambda x:sum(x.isnull())/len(x),axis=0) 


结果如下:

image.png


2)删除地理位置这一列

df.drop(["user_geohash"],axis=1,inplace=True)


3)处理时间time列,将该列拆分为date日期列,和hour小时列

df["date"] = df.time.str[0:-3]
df["hour"] = df.time.str[-2:]
df.sample(5)


结果如下:

image.png


4)将time、date列都变为标准日期格式,将hour列变为int格式

df["date"] = pd.to_datetime(df["date"])
df["time"] = pd.to_datetime(df["time"])
df["hour"] = df["hour"].astype(int)
df.dtypes


结果如下:

image.png


5)将数据按照time列,升序排列

df.sort_values(by="time",ascending=True,inplace=True)
df.head()


解果如下:

image.png


6)删除原始索引,重新生成新的索引

df.reset_index(drop=True,inplace=True)
df.head()


结果如下:

image.png

知识点:注意reset_index()中传入参数drop的这种用法


相关文章
python基于淘宝历史数据的用户行为分析(三)
python基于淘宝历史数据的用户行为分析(三)
python基于淘宝历史数据的用户行为分析(三)
python基于淘宝历史数据的用户行为分析(二)
python基于淘宝历史数据的用户行为分析(二)
python基于淘宝历史数据的用户行为分析(二)
python基于淘宝历史数据的用户行为分析(四)
python基于淘宝历史数据的用户行为分析(四)
python基于淘宝历史数据的用户行为分析(四)
python基于淘宝历史数据的用户行为分析(三)
python基于淘宝历史数据的用户行为分析(三)
python基于淘宝历史数据的用户行为分析(三)
python基于淘宝历史数据的用户行为分析(二)
python基于淘宝历史数据的用户行为分析(二)
python基于淘宝历史数据的用户行为分析(二)
|
14天前
|
安全 Java 数据处理
Python网络编程基础(Socket编程)多线程/多进程服务器编程
【4月更文挑战第11天】在网络编程中,随着客户端数量的增加,服务器的处理能力成为了一个重要的考量因素。为了处理多个客户端的并发请求,我们通常需要采用多线程或多进程的方式。在本章中,我们将探讨多线程/多进程服务器编程的概念,并通过一个多线程服务器的示例来演示其实现。
|
14天前
|
程序员 开发者 Python
Python网络编程基础(Socket编程) 错误处理和异常处理的最佳实践
【4月更文挑战第11天】在网络编程中,错误处理和异常管理不仅是为了程序的健壮性,也是为了提供清晰的用户反馈以及优雅的故障恢复。在前面的章节中,我们讨论了如何使用`try-except`语句来处理网络错误。现在,我们将深入探讨错误处理和异常处理的最佳实践。
|
18天前
|
缓存 监控 Python
解密Python中的装饰器:优雅而强大的编程利器
Python中的装饰器是一种强大而又优雅的编程工具,它能够在不改变原有代码结构的情况下,为函数或类添加新的功能和行为。本文将深入解析Python装饰器的原理、用法和实际应用,帮助读者更好地理解和利用这一技术,提升代码的可维护性和可扩展性。
|
1天前
|
SQL 关系型数据库 MySQL
第十三章 Python数据库编程
第十三章 Python数据库编程
|
1天前
|
存储 网络协议 关系型数据库
Python从入门到精通:2.3.2数据库操作与网络编程——学习socket编程,实现简单的TCP/UDP通信
Python从入门到精通:2.3.2数据库操作与网络编程——学习socket编程,实现简单的TCP/UDP通信

热门文章

最新文章