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

目录

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,运行数据分析代码

import pandas as pd# 读取xlsx表格数据
data = pd.read_excel("./录取名单汇总2100 .xls",sheet_name='Sheet1')# 分析数据的变量类型
variable_types = data.dtypes
variable_types

 简单看一下数据类型:

 3.2 数据分析

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_valuesprint('属性',col,'\n=============')print(unique_values)print('=============')

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

3.3 数据组装

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

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 制表:

引入数据:

from pyecharts import options as optsfrom pyecharts.charts import Barfrom pyecharts.charts import Pie

制作饼状图:

# 准备数据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()

样图:

制作条形统计图:

# 准备数据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.效果展示

对应代码:

# 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.mzph.cn/news/81361.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

逆向-beginners之goto

#include <stdio.h> int main() { printf("begin.\n"); goto exit; printf("skip me!\n"); exit: printf("end\n"); } #if 0 某些情况下还必须使用这种语句 goto直接编译成了JMP。这两个指令的效果完全相同&#xff…

JDK17特性

文章目录 一、JAVA17概述二、语法层面的变化1.密封类2.switch模式匹配&#xff08;预览&#xff09; 三、API层面变化1.Vector API&#xff08;第二个孵化器&#xff09;2.特定于上下文的反序列化过滤器 四、其他变化1.恢复始终严格的浮点语义2.JEP 增强型伪随机数生成器3.JEP …

Linux命令:free命令

目录 一、简介二、free -h1、free列和available列的区别2、swap空间 三、free -h -s 2 -c 2 一、简介 free 命令可以显示Linux系统中 空闲的、已用的物理内存 及 swap内存,及 被内核使用的buffer。在Linux系统监控的工具中&#xff0c;free命令是最经常使用的命令之一。 free…

C++库函数——map与set

目录 1.关联式容器是什么&#xff1f; 2.键值对 3.set ①set的介绍 ②set的模板参数列表 ③set的构造 ④set的迭代器 ⑤set的容量 ⑥set的修改与操作 ⑦set的使用举例 4.multiset ①multiset的介绍 ②multiset的使用举例 5.map ①map的介绍 ②map的模版参数列表…

HuggingFace Transformer

NLP简介 HuggingFace简介 hugging face在NLP领域最出名&#xff0c;其提供的模型大多都是基于Transformer的。为了易用性&#xff0c;Hugging Face还为用户提供了以下几个项目&#xff1a; Transformers(github, 官方文档): Transformers提供了上千个预训练好的模型可以用于不…

关于不停机发布新版本程序的方式

“不停机发布新版本程序”&#xff0c;暂且这么称呼吧&#xff0c;其实就是所说的滚动发布、灰度发布、金丝雀发布和蓝绿发布。 之所以会总结性地提一下这几个概念&#xff0c;主要是本次出门游历&#xff0c;流浪到了乌兰察布市四王子旗&#xff0c;在这儿遇上了个有趣儿的家伙…

目标检测YOLO实战应用案例100讲-基于单阶段网络的小目标检测

目录 前言 目标检测的研究现状 小目标检测的研究现状

基于讯飞人脸算法(调用API进行人脸比对)

先看结果 必须遥遥领先 所需准备 这里我调用了&#xff1a; 人脸比对 API 文档 | 讯飞开放平台文档中心https://www.xfyun.cn/doc/face/xffaceComparisonRecg/API.html#%E6%8E%A5%E5%8F%A3%E8%AF%B4%E6%98%8E 代码里所涉及的APPID、APISecret、APIKey 皆从讯飞的控制台获取&…

市场,只能被操纵,不能被战胜

所谓市场&#xff0c;不过是千千万参与主体各自独立意志、自主行动所形成的复杂混沌的互动结果。价格&#xff0c;则是这一复杂混沌系统的涌现现象。 无数在市场中追风打浪的人&#xff0c;总是梦想着自己有朝一日能够战胜市场&#xff0c;获得超额回报。于是他们绞尽脑汁&…

Mybatis学习笔记3 在Web中应用Mybatis

Mybatis学习笔记2 增删改查及核心配置文件详解_biubiubiu0706的博客-CSDN博客 技术栈:HTMLServletMybatis 学习目标: 掌握mybatis在web应用中如何使用 Mybatis三大对对象的作用域和生命周期 关于Mybatis中三大对象的作用域和生命周期、 官网说明 ThreadLocal原理及使用 巩…

QT基础教程(QMap和QHash)

文章目录 前言一、QMap二、QHash三、QMap和QHash实际运用 总结 前言 本篇文章将为大家讲解QT中两个非常重要的类&#xff1a;QMap和QHash。 QMap和QHash都是Qt框架中用于存储键值对的数据结构&#xff0c;它们提供了快速的查找、插入和删除操作&#xff0c;但在某些方面有一些…

cherry-pick

要将dev分支的某次提交给master分支&#xff0c;可以使用以下命令&#xff1a; 1. 切换到dev分支&#xff1a;git checkout dev 2. 查看提交历史&#xff0c;找到要提交给master的某次提交的commit hash&#xff08;假设为 <commit_hash>&#xff09; 3. 切换到master…

前端加密和解密

Base64加密&#xff1a; 加密&#xff1a;Base64.encode(); Base64.encode(); 解密&#xff1a;Base64.decode(); Base64.decode(); url携带参数加密&#xff1a; 加密&#xff1a;encodeURLComponent(); encodeURLComponent(); 解密&#xff1a;decodeURLComponent(); …

[软考中级]软件设计师-知识产权

考查 有2-3题&#xff0c;题号可能在10和12 著作权 也称为版权&#xff0c;只作者对其创作的作品享有的人身权和财产权 人身权包括发表权&#xff0c;署名权&#xff0c;修改权和保护作品完整权&#xff0c;其他权利均为财产权 我国发表权保护期为作者终生及其死亡后的50年…

HttpUtils带连接池

准备祖传了&#xff0c;有问题欢迎大家指正。 HttpUtil import com.txlc.cloud.commons.exception.ServiceException; import com.txlc.dwh.common.constants.MyErrorCode; import org.ssssssss.script.annotation.Comment;import java.io.UnsupportedEncodingException; impo…

JAVA入坑之嵌套类

一、嵌套类入门 1.1概述 Java嵌套类是指在一个类中定义另一个类的一种方式&#xff0c;它可以提高代码的可读性、可维护性和封装性。Java嵌套类分为两种类型&#xff1a;静态嵌套类和非静态嵌套类。 静态嵌套类&#xff1a;Static nested classes,即类前面有static修饰符 非静…

【论文解读】Faster sorting algorithm

一、简要介绍 基本的算法&#xff0c;如排序或哈希&#xff0c;在任何一天都被使用数万亿次。随着对计算需求的增长&#xff0c;这些算法的性能变得至关重要。尽管在过去的2年中已经取得了显著的进展&#xff0c;但进一步改进这些现有的算法路线的有效性对人类科学家和计算方法…

Prometheus PromQL数据查询语言

PromQL 简介 PromQL&#xff08;Prometheus Query Language&#xff09;是 Prometheus 内置的数据查询语言。支持用户进行实时的数据查询及聚合操作。 Prometheus 基于指标名称&#xff08;metrics name&#xff09;以及附属的标签集&#xff08;labelset&#xff09;唯一定义一…

2023-09-17 LeetCode每日一题(打家劫舍 II)

2023-09-17每日一题 一、题目编号 213. 打家劫舍 II二、题目链接 点击跳转到题目位置 三、题目描述 你是一个专业的小偷&#xff0c;计划偷窃沿街的房屋&#xff0c;每间房内都藏有一定的现金。这个地方所有的房屋都 围成一圈 &#xff0c;这意味着第一个房屋和最后一个房…

《golang设计模式》第二部分·结构型模式-05-门面模式Facade)

文章目录 1. 概述1.1 角色1.2 类图 2. 代码示例2.1 设计2.2 代码2.2 类图 1. 概述 门面&#xff08;Facade&#xff09;向客户端提供使用子系统的统一接口&#xff0c;用于简化客户端使用子系统的操作。 1.1 角色 门面角色&#xff08;Facade&#xff09; 客户端可以调用的接…