Python Pyecharts繪制桑基圖分析用戶行為路徑
桑基圖,它的核心是對不同點之間,通過線來連接。線的粗細代表流量的大小。很多工具都能實現桑基
圖,比如:Excel、tableau,我們今天要用 Pyecharts 來繪制。
因為沒有用戶行為路徑相關的公開數據,所以本次實現可視化是根據泰坦尼克號,其生存與遇難的人的
數據,來分析流向路徑。學會思路,你也可以換成自己公司的用戶行為埋點數據。
讀取數據
數據來源:https://www.kaggle.com/c/titanic
Python學習交流Q群:903971231#### from pyecharts import options as opts from pyecharts.charts import Sankey import pandas as pd data = pd.read_excel('/Users/wangwangyuqing/Desktop/train.xlsx') data
整理數據結構:父類→子類→值
從父類到子類,每相鄰的兩個分類變量都需要計算,使用 Pandas 中數據透視表,計算後的數據縱向合並成三列。
Python學習交流Q群:903971231### lis = data.columns.tolist()[:-1] lis1 = lis[:-1] lis2 = lis[1:] data1 = pd.DataFrame() for i in zip(lis1,lis2): datai = data.pivot_table('ID',index=list(i),aggfunc='count').reset_index() datai.columns=[0,1,2] data1 = data1.append(datai) data1
生成節點數據
需要把所有涉及到的節點去重規整在一起。列表內嵌套字典的形式去重匯總。
# 生成nodes nodes = [] # 先添加幾個頂級的父節點 nodes.append({'name':'C港口'}) nodes.append({'name':'Q港口'}) nodes.append({'name':'S港口'}) # 添加其他節點 for i in data1[1].unique(): dic = {} dic['name'] = i nodes.append(dic) nodes
組織數據:定義節點和流量
數據從哪裡流向哪裡,流量(值)是多少,循環+字典來組織數據
links = [] for i in data1.values: dic = {} dic['source'] = i[0] dic['target'] = i[1] dic['value'] = i[2] links.append(dic) links
數據可視化
c = ( Sankey(init_opts=opts.InitOpts(width="1200px", height="800px",theme='westeros')) .add( "", nodes=nodes, links=links, linestyle_opt=opts.LineStyleOpts(opacity=0.2, curve=0.5, color="source"), label_opts=opts.LabelOpts(position="right"), ) .set_global_opts(title_opts=opts.TitleOpts(title="桑基圖")) .render("/Users/wangwangyuqing/Desktop/image.html") )
桑基圖是分析用戶路徑的有效方法之一,能非常直觀地展現用戶旅程,幫助我們進一步確定轉化漏鬥中的關鍵步驟,發現用戶的
流失點,找到有價值的用戶群體,看用戶主要流向瞭哪裡,發現用戶的興趣點以及被忽略的產品價值,尋找新的機會。
以上就是Python Pyecharts繪制桑基圖分析用戶行為路徑的詳細內容,更多關於Pyecharts繪制桑基圖的資料請關註LevelAH其它相關文章!
推薦閱讀:
- Python數據可視化Pyecharts庫實現桑葚圖效果
- Pyecharts可視化圖片渲染的方法詳解
- Python八個自動化辦公的技巧
- python用pyecharts實現地圖數據可視化
- 利用pyecharts繪制地理散點圖