如何用Python数据可视化来分析用户留存率
发表于:2025-11-20 作者:千家信息网编辑
千家信息网最后更新 2025年11月20日,如何用Python数据可视化来分析用户留存率,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。关于"漏斗图"漏斗图常用于用户
千家信息网最后更新 2025年11月20日如何用Python数据可视化来分析用户留存率关于"漏斗图"
如何用Python数据可视化来分析用户留存率,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
关于"漏斗图"
漏斗图常用于用户行为的转化率分析,例如通过漏斗图来分析用户购买流程中各个环节的转化率。当然在整个分析过程当中,我们会把流程优化前后的漏斗图放在一起,进行比较分析,得出相关的结论,今天小编就用"matplotlib"、"plotly"以及"pyecharts"这几个模块来为大家演示一下怎么画出好看的漏斗图首先我们先要导入需要用到的模块以及数据,
import matplotlib.pyplot as plt import pandas as pd df = pd.DataFrame({"环节": ["环节一", "环节二", "环节三", "环节四", "环节五"], "人数": [1000, 600, 400, 250, 100], "总体转化率": [1.00, 0.60, 0.40, 0.25, 0.1]})需要用到的数据如下图所示:
用matplotlib来制作漏斗图,制作出来的效果可能会稍显简单与粗糙,制作的原理也比较简单,先绘制出水平方向的直方图,然后利用plot.barh()当中的"left"参数将直方图向左移,便能出来类似于漏斗图的模样
y = [5,4,3,2,1] x = [85,75,58,43,23] x_max = 100 x_min = 0 for idx, val in enumerate(x): plt.barh(y[idx], x[idx], left = idx+5) plt.xlim(x_min, x_max)
而要绘制出我们想要的想要的漏斗图的模样,代码示例如下
from matplotlib import font_manager as fm # funnel chart y = [5,4,3,2,1] labels = df["环节"].tolist() x = df["人数"].tolist() x_range = 100 font = fm.FontProperties(fname="KAITI.ttf") fig, ax = plt.subplots(1, figsize=(12,6)) for idx, val in enumerate(x): left = (x_range - val)/2 plt.barh(y[idx], x[idx], left = left, color='#808B96', height=.8, edgecolor='black') # label plt.text(50, y[idx]+0.1, labels[idx], ha='center', fontproperties=font, fontsize=16, color='#2A2A2A') # value plt.text(50, y[idx]-0.3, x[idx], ha='center', fontproperties=font, fontsize=16, color='#2A2A2A') if idx != len(x)-1: next_left = (x_range - x[idx+1])/2 shadow_x = [left, next_left, 100-next_left, 100-left, left] shadow_y = [y[idx]-0.4, y[idx+1]+0.4, y[idx+1]+0.4, y[idx]-0.4, y[idx]-0.4] plt.plot(shadow_x, shadow_y) plt.xlim(x_min, x_max) plt.axis('off') plt.title('每个环节的流失率', fontproperties=font, loc='center', fontsize=24, color='#2A2A2A') plt.show()绘制出来的漏斗图如下图所示
当然我们用plotly来绘制的话则会更加的简单一些,代码示例如下
import plotly.express as px data = dict(values=[80,73,58,42,23], labels=['环节一', '环节二', '环节三', '环节四', '环节五']) fig = px.funnel(data, y='labels', x='values') fig.show()
最后我们用pyecharts模块来绘制一下,当中有专门用来绘制"漏斗图"的方法,我们只需要调用即可
from pyecharts.charts import Funnel from pyecharts import options as opts from pyecharts.globals import ThemeType c = ( Funnel(init_opts=opts.InitOpts(width="900px", height="600px",theme = ThemeType.INFOGRAPHIC )) .add( "环节", df[["环节","总体转化率"]].values, sort_="descending", label_opts=opts.LabelOpts(position="inside"), ) .set_global_opts(title_opts=opts.TitleOpts(title="Pyecharts漏斗图", pos_bottom = "90%", pos_left = "center")) ) c.render_notebook()
我们将数据标注上去之后
c = ( Funnel(init_opts=opts.InitOpts(width="900px", height="600px",theme = ThemeType.INFOGRAPHIC )) .add( "商品", df[["环节","总体转化率"]].values, sort_="descending", label_opts=opts.LabelOpts(position="inside"), ) .set_global_opts(title_opts=opts.TitleOpts(title="Pyecharts漏斗图", pos_bottom = "90%", pos_left = "center")) .set_series_opts(label_opts=opts.LabelOpts(formatter="{b}:{c}")) ) c.render_notebook()看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。
环节
漏斗
分析
转化率
数据
用户
总体
模块
制作
人数
代码
模样
流程
直方图
示例
帮助
可视化
好看
清楚
粗糙
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
软件开发学几年
我的手艺服务器
人类一败涂地怎么连接我的服务器
瑞波币网络安全性
暗黑2 xbox 选择服务器
亚马逊租服务器要多少钱
签订网络安全服务协议
上海信选网络技术有限公司招聘
用友软件开发模式是什么
服务器华硕
东北大学网络安全研究生
数据库水平拆分和垂直拆分
数据库添加信息显示表无效
服务器安全卫士厂商
成都欣悦互动网络技术有限公司
材料库建立数据库
大学生权利维护网络安全目的
简阳市总工会网络安全
重庆软件开发定制公司排名
短视频剧本网络安全
网络安全三部
辽宁软件开发技术服务价格
网络安全等保机构
网络安全治理设想
移动软件开发学多久
软件开发工作量的单位
日式修图软件开发
农商行的网络技术
嵌入式软件开发长沙
网络安全运维可视化系统