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

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

2)用户行为指标

① 总计点击、收藏、添加购物车、支付用户的情况

type_1 = df[df['behavior_type']=="1"]["user_id"].count()
type_2 = df[df['behavior_type']=="2"]["user_id"].count()
type_3 = df[df['behavior_type']=="3"]["user_id"].count()
type_4 = df[df['behavior_type']=="4"]["user_id"].count()
print("点击用户:",type_1)
print("收藏用户:",type_2)
print("添加购物车用户:",type_3)
print("支付用户:",type_4)


结果如下:

image.png

结果分析:从图中可以看到,用户进行页面点击–>收藏和加如购物车–>支付,逐渐呈现下降趋势。关于这方面的分析,将在下面的漏斗图中继续更为深入的说明。


② 日期维度下,点击、收藏、添加购物车、支付用户的情况

pv_date_type = pd.pivot_table(df,index='date',
                             columns='behavior_type',
                             values='user_id',
                             aggfunc=np.size)
pv_date_type.columns = ["点击","收藏","加入购物车","支付"]
pv_date_type.head()
# 绘图如下
plt.figure(figsize=(16,10))
sns.lineplot(data=pv_date_type[['收藏', '加入购物车', '支付']])
plt.tight_layout()
plt.savefig("不同日期不同用户行为的PV变化趋势",dpi=300)
plt.show()


结果如下:

image.png

绘图如下:

image.png


③ 时间维度下,点击、收藏、添加购物车、支付用户的情况

pv_hour_type = pd.pivot_table(df,index='hour',
                             columns='behavior_type',
                             values='user_id',
                             aggfunc=np.size)
pv_hour_type.columns = ["点击","收藏","加入购物车","支付"]
pv_hour_type.head()
# 绘图如下
plt.figure(figsize=(16,10))
sns.lineplot(data=pv_hour_type[['收藏', '加入购物车', '支付']])
pv_hour_type["点击"].plot(c="pink",linewidth=5,label="点击",secondary_y=True)
plt.legend(loc="best")
plt.tight_layout()
plt.savefig("不同小时不同用户行为的PV变化趋势",dpi=300)
plt.show()


结果如下:

image.png

绘图如下:

image.png


④ 支付次数前10的用户行为细分

df["user_id1"] = df["user_id"]
buy_first = pd.pivot_table(df,index='user_id',
                             columns='behavior_type',
                             values='user_id1',
                             aggfunc="count")
buy_first.columns = ["点击","收藏","加入购物车","支付"]
buy_first_10 = buy_first.sort_values(by="支付",ascending=False)[:10]
buy_first_10
# 绘制图形如下
plt.figure(figsize=(16,10))
plt.subplot(311)
plt.plot(buy_first_10["点击"],c="r")
plt.title("点击数的变化趋势")
plt.subplot(312)
plt.plot(buy_first_10["收藏"],c="g")
plt.title("收藏数的变化趋势")
plt.subplot(313)
plt.plot(buy_first_10["加入购物车"],c="b")
plt.title("加入购物车的变化趋势")
plt.xticks(np.arange(10),buy_first_10.index)
plt.tight_layout()
plt.savefig("支付数前10的用户,在点击、收藏、加入购物车的变化趋势",dpi=300)
plt.show()


结果如下:

image.png

绘图如下:

image.png

结果分析:通过这个分析,我们可以看出,购买次数最多的用户,点击、收藏、加入购车的次数不一定是最多的,


⑤ ARPPU分析:平均每用户收入,即可通过“总收入/AU” 计算得出

total_custome = df[df['behavior_type'] == "4"].groupby(["date","user_id"])["behavior_type"].count()\
                .reset_index().rename(columns={"behavior_type":"total"})
total_custome.head()
total_custome2 = total_custome.groupby("date").sum()["total"]/\
                 total_custome.groupby("date").count()["total"]
total_custome2.head(10)
# 绘图如下
x = len(total_custome2.index.astype(str))
y = total_custome2.index.astype(str)
plt.plot(total_custome2.values)
plt.xticks(range(0,30,7),[y[i] for i in range(0,x,7)],rotation=90)
plt.title("每天的人均消费次数")
plt.tight_layout()
plt.savefig("每天的人均消费次数",dpi=300)
plt.show()


结果如下:

image.png

绘图如下:

image.png

相关文章
|
11天前
|
数据采集 存储 API
网络爬虫与数据采集:使用Python自动化获取网页数据
【4月更文挑战第12天】本文介绍了Python网络爬虫的基础知识,包括网络爬虫概念(请求网页、解析、存储数据和处理异常)和Python常用的爬虫库requests(发送HTTP请求)与BeautifulSoup(解析HTML)。通过基本流程示例展示了如何导入库、发送请求、解析网页、提取数据、存储数据及处理异常。还提到了Python爬虫的实际应用,如获取新闻数据和商品信息。
|
1天前
|
机器学习/深度学习 算法 数据挖掘
PYTHON银行机器学习:回归、随机森林、KNN近邻、决策树、高斯朴素贝叶斯、支持向量机SVM分析营销活动数据|数据分享-2
PYTHON银行机器学习:回归、随机森林、KNN近邻、决策树、高斯朴素贝叶斯、支持向量机SVM分析营销活动数据|数据分享
16 1
|
1天前
|
数据处理 Python
如何使用Python的Pandas库进行数据排序和排名
【4月更文挑战第22天】Pandas Python库提供数据排序和排名功能。使用`sort_values()`按列进行升序或降序排序,如`df.sort_values(by='A', ascending=False)`。`rank()`函数用于计算排名,如`df['A'].rank(ascending=False)`。多列操作可传入列名列表,如`df.sort_values(by=['A', 'B'], ascending=[True, False])`和分别对'A'、'B'列排名。
10 2
|
2天前
|
Python
如何使用Python的Pandas库进行数据缺失值处理?
Pandas在Python中提供多种处理缺失值的方法:1) 使用`isnull()`检查;2) `dropna()`删除含缺失值的行或列;3) `fillna()`用常数、前后值填充;4) `interpolate()`进行插值填充。根据需求选择合适的方法处理数据缺失。
28 9
|
4天前
|
索引 Python
如何使用Python的Pandas库进行数据透视表(pivot table)操作?
使用Pandas在Python中创建数据透视表的步骤包括:安装Pandas库,导入它,创建或读取数据(如DataFrame),使用`pd.pivot_table()`指定数据框、行索引、列索引和值,计算聚合函数(如平均分),并可打印或保存结果到文件。这允许对数据进行高效汇总和分析。
10 2
|
5天前
|
JSON 关系型数据库 数据库
《Python 简易速速上手小册》第6章:Python 文件和数据持久化(2024 最新版)
《Python 简易速速上手小册》第6章:Python 文件和数据持久化(2024 最新版)
30 0
|
6天前
|
机器学习/深度学习 Python 数据处理
Python中利用长短期记忆模型LSTM进行时间序列预测分析 - 预测电力负荷数据
Python中利用长短期记忆模型LSTM进行时间序列预测分析 - 预测电力负荷数据
27 0
Python中利用长短期记忆模型LSTM进行时间序列预测分析 - 预测电力负荷数据
|
6天前
|
存储 机器学习/深度学习 数据可视化
Python面板时间序列数据预测:格兰杰因果关系检验Granger causality test药品销售实例与可视化
Python面板时间序列数据预测:格兰杰因果关系检验Granger causality test药品销售实例与可视化
49 6
|
6天前
|
机器学习/深度学习 数据采集 供应链
从数据到决策:scikit-learn在业务分析中的应用
【4月更文挑战第17天】本文探讨了scikit-learn在业务分析中的应用,包括数据预处理、分类、回归和聚类模型的构建,以及模型评估与优化。通过使用scikit-learn,企业能有效处理数据、预测趋势、客户细分并制定决策,从而提升经营效率和市场策略。随着机器学习的发展,scikit-learn在业务分析领域的潜力将持续释放,创造更多价值。
|
6天前
|
算法 数据可视化 Python
Python中LARS和Lasso回归之最小角算法Lars分析波士顿住房数据实例
Python中LARS和Lasso回归之最小角算法Lars分析波士顿住房数据实例
11 0