Python?Pyecharts繪制桑基圖分析用戶行為路徑
?;鶊D,它的核心是對不同點之間,通過線來連接。線的粗細(xì)代表流量的大小。很多工具都能實現(xiàn)?;?/p>
圖,比如:Excel、tableau,我們今天要用 Pyecharts 來繪制。
因為沒有用戶行為路徑相關(guān)的公開數(shù)據(jù),所以本次實現(xiàn)可視化是根據(jù)泰坦尼克號,其生存與遇難的人的
數(shù)據(jù),來分析流向路徑。學(xué)會思路,你也可以換成自己公司的用戶行為埋點數(shù)據(jù)。
讀取數(shù)據(jù)
數(shù)據(jù)來源:https://www.kaggle.com/c/titanic
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
整理數(shù)據(jù)結(jié)構(gòu):父類→子類→值
從父類到子類,每相鄰的兩個分類變量都需要計算,使用 Pandas 中數(shù)據(jù)透視表,計算后的數(shù)據(jù)縱向合并成三列。
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
生成節(jié)點數(shù)據(jù)
需要把所有涉及到的節(jié)點去重規(guī)整在一起。列表內(nèi)嵌套字典的形式去重匯總。
# 生成nodes nodes = [] # 先添加幾個頂級的父節(jié)點 nodes.append({'name':'C港口'}) nodes.append({'name':'Q港口'}) nodes.append({'name':'S港口'}) # 添加其他節(jié)點 for i in data1[1].unique(): dic = {} dic['name'] = i nodes.append(dic) nodes
組織數(shù)據(jù):定義節(jié)點和流量
數(shù)據(jù)從哪里流向哪里,流量(值)是多少,循環(huán)+字典來組織數(shù)據(jù)
links = [] for i in data1.values: dic = {} dic['source'] = i[0] dic['target'] = i[1] dic['value'] = i[2] links.append(dic) links
數(shù)據(jù)可視化
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") )
?;鶊D是分析用戶路徑的有效方法之一,能非常直觀地展現(xiàn)用戶旅程,幫助我們進(jìn)一步確定轉(zhuǎn)化漏斗中的關(guān)鍵步驟,發(fā)現(xiàn)用戶的
流失點,找到有價值的用戶群體,看用戶主要流向了哪里,發(fā)現(xiàn)用戶的興趣點以及被忽略的產(chǎn)品價值,尋找新的機(jī)會。
以上就是Python Pyecharts繪制?;鶊D分析用戶行為路徑的詳細(xì)內(nèi)容,更多關(guān)于Pyecharts繪制?;鶊D的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
淺談tensorflow與pytorch的相互轉(zhuǎn)換
本文主要介紹了簡單介紹一下tensorflow與pytorch的相互轉(zhuǎn)換,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-06-06Python進(jìn)階之自定義對象實現(xiàn)切片功能
這篇文章主要介紹了Python進(jìn)階之自定義對象實現(xiàn)切片功能,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-01-01Python批量將csv文件轉(zhuǎn)化成xml文件的實例
將 csv 格式轉(zhuǎn)換成xml格式有許多方法,可以用數(shù)據(jù)庫的方式,也有許多軟件可以將 csv 轉(zhuǎn)換成xml。但是比較麻煩,本文利用 Python 一鍵批量將 csv 文件轉(zhuǎn)化成 xml 文件。2021-05-05解決Jupyter notebook中.py與.ipynb文件的import問題
這篇文章主要介紹了解決Jupyter notebook中.py與.ipynb文件的import問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-04-04Python實現(xiàn)PDF到Word文檔的高效轉(zhuǎn)換
這篇文章主要為大家詳細(xì)介紹了如何使用Python編程語言,結(jié)合庫和工具,將PDF文件轉(zhuǎn)換為可編輯的Word文檔,使文檔的編輯變得方便高效,需要的可以參考下2024-01-01Python配置pip國內(nèi)鏡像源的實現(xiàn)
這篇文章主要介紹了Python配置pip國內(nèi)鏡像源的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08