提示:基于pyecharts和pandas,本文详细而全面的讲解了从数据处理到桑基图制作的整个过程
前言
桑基图作为一种流程图表,具有直观性、可视化效果好、易于比较、可交互性和可扩展性等优点,可以帮助人们更好地理解和处理数据,同时还可以在各个领域中发挥重要的作用。
不同于其他介绍桑基图的文档,本文档从数据处理到桑基图制作提供指导,可以帮助大家非常方便的制作桑基图。
一、pyecharts是什么?
Pyecharts 是一种基于 Python 语言的数据可视化库,它能够生成丰富、交互式和动态的图表。具有许多优点:
- 容易上手:Pyecharts 设计简洁,易于理解和学习。即使你没有编程经验,也可以在很短的时间内创建出高质量的图表。
- 多样化的图表类型:Pyecharts 支持多种类型的图表,包括折线图、柱状图、饼图、散点图、地图等。此外,Pyecharts还支持组合图表,你可以将多个图表组合在一起,以呈现更多样的数据。
- 丰富的图表样式:Pyecharts支持多种图表样式,包括颜色、标签、标题等。这些样式可以根据你的需求进行自定义,以创造出符合你品牌形象或主题的图表。
- 交互式:Pyecharts 提供了丰富的交互功能,如鼠标滑过提示、缩放、拖动、选取、联动等,可以帮助你更加直观地分析和呈现数据。
- 可视化效果高:Pyecharts 的图表效果非常好,支持高清分辨率和无损缩放,可以呈现出非常美观、清晰的图表。
- 可扩展性:Pyecharts 可以与多个 Python 库集成,如 Pandas、NumPy、Jupyter Notebook 等,也可以支持多个数据格式,如 CSV、JSON、Excel 等。
二、使用步骤
1.引入库
代码如下(示例):
import pandas as pd
from pyecharts.charts import Sankey
from pyecharts import options as opts
import warnings
warnings.filterwarnings("ignore")
2.读入数据
代码如下(示例):
data=pd.read_csv(r'test1.csv',encoding='gbk')
print(data.head())
运行得到如下结果:
示例数据,代表不同id的用户于某天在某个购物网站的访问行为
3.数据处理
比如我们想要制作用户访问行为的桑基图,查看用户的行为情况。首先将以上数据处理成制作桑基图的数据格式
1.数据转置
代码如下(示例):
data_pivot = pd.pivot(data,index=['report_day','distinct_id'],columns='rank_view',values='rank_event_category_name')
data_pivot.reset_index(inplace=True)
data_copy=data_pivot.copy()
print(data_copy)
运行得到如下结果:
2.缺失值处理
代码如下(示例):
for columns in data_copy.iloc[:,1:]:
data_copy[columns].fillna(str(columns)+'-'+'流失',inplace=True)
print(data_copy)
运行得到如下结果:
3.交换两列的位置
代码如下(示例):
temp=data_copy['distinct_id']
data_copy.drop(['distinct_id'],axis=1,inplace