背景:
大多数互联网企业都提供有类似Notebook类的产品,采用交互式的方式进行数据分析、数据建模及数据可视化。主要实现大多都是基于jupyter 、Zeppelin进行定制化开发,重点会打通大数据计算、存储及底层资源管理,支持常见的机器学习和深度学习计算框架,算法分析及建模中最常见的是采用jupyter notebook,能够在浏览器中,通过编写python脚本 运行脚本,在脚本块下方展示运行结果。
jupyter notebook 可以交互式的开发,再加上拥有丰富的的文本格式、可以图文并茂的展示结果,迅速的展现数据分析师的想法。
安装Jupyter Notebook
Anaconda 安装管理Juypter Notebook
Anaconda是一个免费的开发环境,能帮你管理众多的Python库,支持Jupyter Notebook、Spyder等工具,还有许多科学包,通过可以从官网上直接下载安装Anaconda,启动Anaconda后 安装Juypter就比较简单,直接Anaconda界面上启动就好了,默认Anaconda会安装好Juypter和相关科学库。
使用pip命令安装
在命令行中通过python3安装,安装之前建议升级下pip,,解决老版本的pip在安装Jupyter Notebook过程中或面临依赖项无法同步安装的问题,这种情况下如果需要其他科学包及其依赖项就需要手动去安装了。
pip3 install --upgrade pip ## 更新 pip3 install jupyter ## 安装 jupyter notebook --port <port_number> ## 启动可以指定端口号,不指定默认8888 当 # 还可以指定其他参数具体可以 jupyter notebook -h
使用Docker安装
docker安装启动jupyter就比较简单了
比如:docker run -it -d --name=test. tensorflow/tensorflow:2.2.0-jupyter -p 8888:8082
实践Juypter notebook
在Juypter中使用Plotly 绘图
简介
Plotly 是一个非常强大的开源数据可视化框架,它通过构建基于 HTML 的交互式图表来显示信息,可创建各种形式的精美图表。本文所说的 Plotly 指的是 Plotly.js 的 Python 封装,plotly本身是个生态非常复杂的绘图工具,它对很多编程语言提供接口,交互式和美观易用应该是 Plotly 最大的优势
绘制漏斗图
在一个电商购物场景下,用户购买 商品会涉及到多个流程,从下载APP、注册APP、搜索商品,购买商品,每个流程都会潜在的流失率,通过漏斗图可以用来呈现用户流失情况,我们收集到每个阶段数据后就可以利用Plotly进行漏斗图的绘制了。
绘制流程
- 安装Plotly包
pip install plotly
- 详细代码
这里绘制个稍微复杂的代码,分别绘制男女生适用产品的组合型漏斗
import plotly.express as px # 导入需要的模块,命名为px import pandas as pd stages = ["访问数", "下载数", "注册数", "搜索数", "付款数"] #漏斗的数据 data = pd.DataFrame(dict( #准备漏斗数据 number=[59, 32, 18, 9, 2], stage=stages)) data['性别']='男' print(data) data2 = pd.DataFrame(dict( #准备漏斗数据 number=[40, 30, 22, 10, 5], stage=stages)) data2['性别']='女' df = pd.concat([data,data2],axis=0) # 拼接漏斗数据,pandas函数拼接支持DataFrame类型 print(df) fig = px.funnel(df,x='number',y='stage',color='性别') #把数据传入漏斗 fig.show() # 显示漏斗数据
- 结果显示
- 结果分析
通过这个漏洞图发现通过整个APP购买流程,发现每个阶段都有用户流程,还有就是女性用户购买的比例明显大点,这些现象可以启发产品运营同学可以聚焦某个环节 去减少某个流程中的流失率