2023年 python结合excel实现快速画图(零基础快速入门)

news/2024/7/21 7:54:29 标签: python, 开发语言, excel, 数据分析, echarts

目录

1.适用人群

2.环境配置

3.基本用法

3.1 数据读取

 3.2 数据分析

3.3 数据组装

3.4 制表:

4.快速提升

5.效果展示


1.适用人群

电脑有python环境,会python基本使用,需要短时间内完成大量画图任务的数据分析的人群。(有过matplab相关画图库及echart用户使用起来会很快)

2.环境配置

pip install pandas jupyter-notebook pyecharts

3.基本用法

3.1 数据读取

可以快速读入excel,选择你需要处理的Sheet1。这里请注意,不要有合并单元格。variable_types = data.dtypes查阅你需要处理的的数据类型。下面是样表:

序号性别民族政治面貌出生年月中学名称考生类别毕业类别考试类别考生特征投档单位外语投档志愿
1回族群众2004/8/9银川高级中学城镇往届普通高中毕业秋季统考统招英语1
2汉族共青团员2004/3/10银川市第六中学城镇往届普通高中毕业秋季统考统招英语1

打开jupyter notebook,运行数据分析代码

python">import pandas as pd

# 读取xlsx表格数据
data = pd.read_excel("./录取名单汇总2100 .xls",sheet_name='Sheet1')

# 分析数据的变量类型
variable_types = data.dtypes
variable_types

 简单看一下数据类型:

 3.2 数据分析

python">objlist = []

for id,i in enumerate(variable_types):
    # print(variable_types.index[id],variable_types.values[id])
    if(variable_types.values[id]=='object'):
        # print(variable_types.index[id])
        objlist.append(variable_types.index[id])


dic_list = {}
for col in objlist:
    col_data = data[col]
    unique_values = col_data.unique()
    if len(unique_values)<=100:
        dic_list[col] = unique_values
        print('属性',col,'\n=============')
        print(unique_values)
        print('=============')

可以看看数据的基本类别  改一改可以看分布情况。现在你如果想查找某种数据的分布情况,就可以针对列进行数据处理及分析。

3.3 数据组装

这里的数据组装是对数据的预处理,将需要分析的列。比如我需要查看电气工程及其自动化专业的男女比例,数据构造过程如下:

python">def get_tuple_list(df, column_name):
    # 使用value_counts()函数进行分布统计
    distribution = df[column_name].value_counts()
    
    # 转换为元组并组成列表
    result_list = list(distribution.items())
    
    return result_list

# 这句代码可能有些超纲,是pandas的df选择,不懂得同学补补对应的知识。
df_dq = df[(df['专业'] == '电气工程及其自动化')]

data_dq = get_tuple_list(df_dq,'性别')

data_dq结果:

3.4 制表:

引入数据:

python">from pyecharts import options as opts

from pyecharts.charts import Bar

from pyecharts.charts import Pie

制作饼状图:

python"># 准备数据

data = data_dq

# 创建Pie对象

pie = (

    Pie()

    .add("", data)

#     .set_colors(["blue", "white"])  # 设置颜色为蓝色和白色

    .set_global_opts(title_opts=opts.TitleOpts(title="电气自动化男女比例分布"))

    .set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}"))

)

# 渲染生成HTML文件

# pie.render("pie_chart.html")

pie.render_notebook()

样图:

制作条形统计图:

python"># 准备数据

x_data = [ i[0] for i in data]

y_data = [ i[1] for i in data]

# 创建Bar对象

bar = (

    Bar()

    .add_xaxis(x_data)

    .add_yaxis(x_data, y_data)

    .set_global_opts(title_opts=opts.TitleOpts(title="电气自动化男女比例分布"),

                     xaxis_opts=opts.AxisOpts(

            axislabel_opts={"interval":"0","rotate":90}),

            )

)

# 渲染生成HTML文件

# pie.render("pie_chart.html")

pie.render_notebook()

样图:

4.快速提升

根据Examples - Apache ECharts的网站选择你需要的图标,然后到GitHub - pyecharts/pyecharts-gallery: Just use pyecharts to imitate Echarts official example.

搜索你需要的组件~

比如:

我需要这个bar表

复制代码自己试一试,然后自己组装一下数据即可~

5.效果展示

对应代码:

python"># 2100 的省份
from pyecharts.charts import Map  # 注意这里与老版本pyecharts调用的区别
from pyecharts import options as opts
import random

# prov_city = ['银川市', '中卫市', '吴忠市', '石嘴山市','固原市']
# data_prov_city = [(i, random.randint(100, 200)) for i in prov_city]

data = [("银川市", 548), ("中卫市", 279),("吴忠市",340),("石嘴山市",89),("固原市",357)]
maps = Map().add("",
         data,
         "宁夏").set_global_opts(
        title_opts=opts.TitleOpts(title="2023年录取新生各省分布"),
        visualmap_opts=opts.VisualMapOpts(
            min_=50,
            max_=600,
            is_piecewise=True
        )
    )
maps.render("maps_chart.html")
maps.render_notebook()

这是根据实际需要制作的省份分布图,大家也可以根据自己的需要查阅最符合你需求的图表。


http://www.niftyadmin.cn/n/5032930.html

相关文章

uniapp开发小程序中实现骨架屏

第一步&#xff1a;小程序中实现骨架屏在微信开发者工具中点击生成骨架屏&#xff1a; 第二步&#xff1a;复制html代码&#xff0c;到骨架屏vue组件汇中再把之前写的样式代码引入进去&#xff1a; import ../../pages/user/user.css; 第三步&#xff1a;组件中引入骨架屏&am…

再想一想GPT

一 前言 花了大概两天时间看完《这就是ChatGPT》&#xff0c;触动还是挺大的&#xff0c;让我静下来&#xff0c;认真地想一想&#xff0c;是否真正理解了ChatGPT&#xff0c;又能给我们以什么样的启发。 二 思考 在工作和生活中&#xff0c;使用ChatGPT或文心一言&#xff0c;…

再战SDRAM与资料整理。

总之只要阅读操作手册&#xff0c;按照时序来&#xff0c;完全不难&#xff01; 器件记录&#xff1a; 小梅哥AC620上SDRAM&#xff1a;M12L2561616A-6TG2T 其的存储空间为16M*16256MB&#xff0c;第二行的数字则与其速度等级有关&#xff1b;其分为&#xff1a; 4bank*16bit…

windows下mysql的高可用方案

PS:理论上linux下也可以使用这种方案 环境准备&#xff1a; 首先准备两台电脑&#xff0c;全部安装MySQL&#xff0c;然后分别查看一下ip地址&#xff0c;我的两个ip分别是&#xff1a; 192.168.25.134&#xff08;简称134&#xff09; 192.168.25.135&#xff08;简称135&a…

卡尔曼滤波(Kalman Filter)原理浅析-数学理论推导-2

目录 前言数学理论推导卡尔曼增益超详细数学推导结语参考 前言 最近项目需求涉及到目标跟踪部分&#xff0c;准备从 DeepSORT 多目标跟踪算法入手。DeepSORT 中涉及的内容有点多&#xff0c;以前也就对其进行了简单的了解&#xff0c;但是真正去做发现总是存在这样或者那样的困…

深度解析NLP文本摘要技术:定义、应用与PyTorch实战

目录 1. 概述1.1 什么是文本摘要&#xff1f;1.2 为什么需要文本摘要&#xff1f; 2. 发展历程2.1 早期技术2.2 统计方法的崛起2.3 深度学习的应用2.4 文本摘要的演变趋势 3. 主要任务3.1 单文档摘要3.2 多文档摘要3.3 信息性摘要 vs. 背景摘要3.4 实时摘要 4. 主要类型4.1 抽取…

【深度学习实验】线性模型(五):使用Pytorch实现线性模型:基于鸢尾花数据集,对模型进行评估(使用随机梯度下降优化器)

目录 一、实验介绍 二、实验环境 1. 配置虚拟环境 2. 库版本介绍 三、实验内容 0. 导入库 1. 线性模型linear_model 2. 损失函数loss_function 3. 鸢尾花数据预处理 4. 初始化权重和偏置 5. 优化器 6. 迭代 7. 测试集预测 8. 实验结果评估 9. 完整代码 一、实验介…

Android框架系列----Retrofit

引言   Retrofit 是 Square 公司开发的一款针对 Android 网络请求的框架,遵循 Restful 设计风格,我们查看 invoke 可以发现:底层基于 OkHttp 实现的 ,相比其他网络请求框架,有以下优势: 性能最好,速度最快(动态代理优势)简洁易用,代码简化解耦彻底,职责细分易与其他框架联用…