python 漏斗图

转载 https://blog.csdn.net/qq_41080850/article/details/83933017

本文主要用到的是pyecharts包,所以要保证电脑上已经安装了pyecharts包。

漏斗图简介:

    漏斗图常用于用户行为的转化率分析,例如用漏斗图分析用户购买流程中各个环节的转化率。但是单一的漏斗图反映的数据过于单一,无法比较,也就失去了分析的意义。对于用户购买流程,我们可以通过把流程优化前后的漏斗图放在一起,进行比较分析,得出相关结论。本文仅涉及漏斗图的绘制,不讨论具体分析。

导入数据并对数据做相应处理:

 
  1. from pyecharts import Funnel # 从pyecharts包中导出创建漏斗图的函数

  2. import pandas as pd

  3. import numpy as np

  4.  
  5. # 导入创建漏斗图所需要的数据

  6. data = pd.read_excel('funnel.xls','Sheet1')

  7. data

    data的表结构如下图所示:

 
  1. # 根据给定数据求出单一环节转化率:

  2. temp1 = np.array(data['人数'][1:])

  3. temp2 = np.array(data['人数'][0:-1])

  4. single_convs = temp1 / temp2

  5. single_convs = list(single_convs)

  6. single_convs.insert(0,1)

  7. single_convs = [round(x,4) for x in single_convs] # 利用round函数将转化率保留四位小数

  8. data['单一环节转化率'] = single_convs

  9.  
  10.  
  11. # 根据给定数据求出总体转化率:

  12. temp3 = np.array(data['人数'])

  13. temp4= np.ones(len(data['人数'])) * data['人数'][0]

  14. total_convs = (temp3 / temp4).tolist()

  15. total_convs = [round(x,4) for x in total_convs]

  16. data['总体转化率'] = total_convs

  17. data

    加入单一环节转化率和总体转化率后,data的表结构如下所示:

 

绘制漏斗图:

示例一:

 
  1. attrs = data['环节'].tolist()

  2. attr_value = (np.array(data['总体转化率'])* 100).tolist()

  3.  
  4. funnel1 = Funnel("总体转化漏斗图一",width=800, height=400, title_pos='center')

  5.  
  6. funnel1.add(name="商品交易行环节", # 指定图例名称

  7. attr=attrs, # 指定属性名称

  8. value = attr_value, # 指定属性所对应的值

  9. is_label_show=True, # 指定标签是否显示

  10. label_formatter='{c}%', # 指定标签显示的格式

  11. label_pos="inside", # 指定标签的位置

  12. legend_orient='vertical', # 指定图例的方向

  13. legend_pos='left', # 指定图例的位置

  14. is_legend_show=True) # 指定图例是否显示

  15.  
  16. funnel1.render()

  17. funnel1

    绘制的图形如下所示:

示例二:

 
  1. funnel2 = Funnel("总体转化漏斗图二",width=800, height=400, title_pos='center')

  2.  
  3. funnel2.add(name="商品交易环节", # 指定图例名称

  4. attr=attrs, # 指定属性名称

  5. value = attr_value, # 指定属性所对应的值

  6. is_label_show=True, # 指定标签是否显示

  7. label_formatter='{b}{c}%', # 指定标签显示的格式

  8. label_pos="outside", # 指定标签的位置

  9. is_legend_show=False) # 指定图例不显示图例

  10.  
  11. funnel2.render()

  12. funnel2

    绘制的图形如下所示:

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值