![v2-08c8e4e29fa6d9e50fe23d8b3ec2eb64_1440w.jpg?source=172ae18b](http://img-02.proxy.5ce.com/view/image?&type=2&guid=1b7af314-0130-eb11-8da9-e4434bdf6706&url=https://pic1.zhimg.com/v2-08c8e4e29fa6d9e50fe23d8b3ec2eb64_1440w.jpg?source=172ae18b)
大家好!
今天来分享一下如何用Python工具来帮助我们制作成一张漏斗图。
漏斗图适用于业务流程比较规范、周期长、环节多的流程分析,通过漏斗各环节业务数据的比较,能够直观地发现和说明问题所在。在网站分析中,通常用于转化率比较,它不仅能展示用户从进入网站到实现购买的最终转化率,还可以展示每个步骤的转化率,如下图所示。
![v2-6cb4760d60b33a507e48b3983acaa121_b.jpg](http://img-03.proxy.5ce.com/view/image?&type=2&guid=1b7af314-0130-eb11-8da9-e4434bdf6706&url=https://pic2.zhimg.com/v2-6cb4760d60b33a507e48b3983acaa121_b.jpg)
案例中数据表格结构如下:
![v2-9b8657d585b8e6751ad97e0f68d67a17_b.jpg](http://img-03.proxy.5ce.com/view/image?&type=2&guid=1b7af314-0130-eb11-8da9-e4434bdf6706&url=https://pic4.zhimg.com/v2-9b8657d585b8e6751ad97e0f68d67a17_b.jpg)
代码及演示:
# 导入相关库
![v2-1005f0a874e44e7f3264453cb34c22ed_b.jpg](http://img-03.proxy.5ce.com/view/image?&type=2&guid=1b7af314-0130-eb11-8da9-e4434bdf6706&url=https://pic2.zhimg.com/v2-1005f0a874e44e7f3264453cb34c22ed_b.jpg)
data["总体转化率-百分比"] = data["总体转化率"].apply(lambda x: format(x, ".0%"))
data
![v2-e8dbbe15582a98d1dd689f29fcd75604_b.jpg](http://img-02.proxy.5ce.com/view/image?&type=2&guid=1b7af314-0130-eb11-8da9-e4434bdf6706&url=https://pic1.zhimg.com/v2-e8dbbe15582a98d1dd689f29fcd75604_b.jpg)
data["环节"] = data["环节"] + ":" + data["总体转化率-百分比"]
data
![v2-8f2699e8739b49fb8a122ca8868e7674_b.jpg](http://img-01.proxy.5ce.com/view/image?&type=2&guid=1b7af314-0130-eb11-8da9-e4434bdf6706&url=https://pic1.zhimg.com/v2-8f2699e8739b49fb8a122ca8868e7674_b.jpg)
c = (
Funnel(init_opts=opts.InitOpts(width="900px", height="600px",theme = ThemeType.PURPLE_PASSION ))
.add(
"商品",
data[["环节","总体转化率"]].values,
sort_="descending",
label_opts=opts.LabelOpts(position="inside"),
)
.set_global_opts(title_opts=opts.TitleOpts(title="Python漏斗图:网站客户转化率(微信公众号:会Excel的隔壁老王)", pos_bottom = "90%", pos_right = "17%"))
)
c.render_notebook()
![v2-6cb4760d60b33a507e48b3983acaa121_b.jpg](http://img-03.proxy.5ce.com/view/image?&type=2&guid=1b7af314-0130-eb11-8da9-e4434bdf6706&url=https://pic2.zhimg.com/v2-6cb4760d60b33a507e48b3983acaa121_b.jpg)
完整python代码参考:
# 导入相关库
import pandas as pd
from pyecharts import options as opts
from pyecharts.charts import Funnel
from pyecharts.faker import Faker
from pyecharts.globals import ThemeType
data = pd.read_excel("D:01会Excel的隔壁老王Excel报表20200419-python:使用漏斗图展示的网站客户转化率20200419-python:使用漏斗图展示的网站客户转化率 - 副本.xlsx")
data["总体转化率-百分比"] = data["总体转化率"].apply(lambda x: format(x, ".0%"))
data["环节"] = data["环节"] + ":" + data["总体转化率-百分比"]
c = (
Funnel(init_opts=opts.InitOpts(width="900px", height="600px",theme = ThemeType.PURPLE_PASSION ))
.add(
"商品",
data[["环节","总体转化率"]].values,
sort_="descending",
label_opts=opts.LabelOpts(position="inside"),
)
.set_global_opts(title_opts=opts.TitleOpts(title="Python漏斗图:网站客户转化率(微信公众号:会Excel的隔壁老王)", pos_bottom = "90%", pos_right = "17%"))
)
c.render_notebook()