关于Python运用pyecharts实现简单的数据分析-——柱状图、饼状图

205 阅读3分钟

1.什么是pyecharts?

Pyecharts是一个将Echarts与Python结合的数据可视化库。而Echarts本身是由百度开源的一个基于JavaScript的数据可视化库,它以良好的交互性和精巧的图表设计而受到开发者的认可。Python是一门非常适合数据处理的编程语言,具有强大的表达力和丰富的数据处理工具。

Pyecharts就是这两者的结合,它允许Python开发者利用Echarts的强大功能来创建各种数据可视化图表。使用pyecharts可以生成独立的网页文件,也可以集成到Web框架如Flask或Django中使用。

在pyecharts中,一切的配置都是通过Options来实现的。这意味着用户可以通过配置不同的选项来定制化自己的图表,从而创造出更加丰富和符合需求的可视化效果。

2.pyecharts的特性

首先,简洁的API设计是Pyecharts的一个显著特点。它提供了简单直观的接口,使得用户能够轻松地创建复杂的图表。这种设计哲学不仅降低了学习成本,还提高了开发效率,支持链式调用,让代码更加流畅易读。

其次,丰富的图表类型也是Pyecharts的一大特色。它包含了30多种常见的图表类型,如折线图、柱状图、饼图等,几乎涵盖了所有主流的数据可视化需求。

再者,对Web框架的良好集成是Pyecharts的另一个优势。它可以无缝集成到Flask、Django等主流的Web框架中,这使得在Web应用中集成数据可视化变得非常方便。

此外,原生百度地图的支持为地理数据可视化提供了极大的便利。用户可以轻松地在地图上绘制各种地理信息,这对于需要展示地理位置数据的应用场景非常有用。

最后,Pyecharts支持主流的Notebook环境,包括Jupyter Notebook和JupyterLab,这使得数据分析和可视化可以在同一个环境中进行,极大地提高了工作效率。

3.进行简单的数据分析

3.1 准备一些假数据

image.png

3.2 安装pandas、pyecharts库

安装命令

pip install pandas
pip install pyecharts

查看已安装版本:

import pyecharts
print(pyecharts.__version__)

3.3 柱状图分析部门人数

import pandas as pd
from pyecharts.charts import Bar, Pie
from pyecharts import options as opts

# 读取Excel文件
file_path = '企业员工信息表.xlsx'
df = pd.read_excel(file_path)

# 统计各部门人数
department_count = df['部门'].value_counts()

# 绘制柱状图
bar = (
    Bar()
    .add_xaxis(department_count.index.tolist())
    .add_yaxis("人数", department_count.values.tolist())
    .set_global_opts(title_opts=opts.TitleOpts(title="各部门人数统计"))
)

# 生成HTML文件
bar.render('A06-各部门人数统计.html')

结果展示:

image.png

3.4 饼状图分析学历人数

import pandas as pd
from pyecharts.charts import Bar, Pie
from pyecharts import options as opts

# 读取Excel文件
file_path = '企业员工信息表.xlsx'
df = pd.read_excel(file_path)

# 统计各学历人数
education_count = df['学历'].value_counts()

# 绘制饼图
pie = (
    Pie()
    .add("", [list(z) for z in zip(education_count.index.tolist(), education_count.values.tolist())])
    .set_global_opts(title_opts=opts.TitleOpts(title="各学历人数统计"))
    .set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}"))
)

# 生成HTML文件
pie.render('A07-各学历人数统计.html')

结果展示:

image.png