您好,登錄后才能下訂單哦!
這篇文章主要介紹“Python Pyecharts怎么繪制桑基圖分析用戶行為路徑”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“Python Pyecharts怎么繪制桑基圖分析用戶行為路徑”文章能幫助大家解決問題。
桑基圖,它的核心是對不同點之間,通過線來連接。線的粗細代表流量的大小。很多工具都能實現桑基
圖,比如:Excel、tableau,我們今天要用 Pyecharts 來繪制。
因為沒有用戶行為路徑相關的公開數據,所以本次實現可視化是根據泰坦尼克號,其生存與遇難的人的
數據,來分析流向路徑。學會思路,你也可以換成自己公司的用戶行為埋點數據。
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 中數據透視表,計算后的數據縱向合并成三列。
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怎么繪制桑基圖分析用戶行為路徑”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。