关于简单的数据可视化

1. 安装数据可视化必要的openpyxl、pandas,matplotlib等软件包

 使用清华源,命令如下:

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn pandaspip install -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn matplotlibpip install -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn openpyxl

安装成功后,可以进入下一步。

2. 这里新建一个Excel表格方便说明一下:

# 导包
import openpyxl
# 创建工作簿
workbook = openpyxl.Workbook()
# 选择默认的活动工作表
sheet = workbook.active
# 添加数据
data = [['Name','Age','Gender'],['Mike','25','Male'],['Alice','26','Female'],['Bob','25','Male'],['John','29','Male'],['Charlie','30','Male'],['Anna','25','Female'],]
for row in data:sheet.append(row)
# 保存工作簿到文件,完成创建
workbook.save("demo.xlsx")

运行代码生成如下表格:

3. 对性别进行可视化操作--绘制饼图:

# 导包
import pandas as pd
import matplotlib.pyplot as plt# 读取Excel文件
df = pd.read_excel("demo.xlsx")# 统计性别的数量
gender_counts = df['Gender'].value_counts()# 提取性别作为标签
genders = gender_counts.index.tolist()# 数据可视化 - 性别分布饼图
fig, ax = plt.subplots()
# pie函数用来绘制饼图
ax.pie(gender_counts, labels=genders, autopct='%1.1f%%', startangle=90)
ax.axis('equal')  # 确保饼图为正圆形
plt.title('Gender Distribution')
plt.show()

运行结果如下图所示:

 4. 对姓名和年龄进行可视化操作--绘制柱状图:

# 导包
import pandas as pd
import matplotlib.pyplot as plt# 读取Excel文件
file_path = 'demo.xlsx'  # 请将这里替换为你的Excel文件的路径
df = pd.read_excel(file_path, engine='openpyxl')# 查看表格数据
print(df.head())# 绘制年龄的条形图
plt.figure(figsize=(10, 5))
plt.bar(df['Name'], df['Age'])
# x轴 y轴命名
plt.xlabel('Name')
plt.ylabel('Age')
# 表名
plt.title('Age by Name')
plt.legend(["Number"], loc='upper right')  # 添加图例,标注柱状图表示的是"Number"
plt.show()

运行结果如下:

或者也可以根据单列(这里以年龄为横坐标)绘制柱状图:

# 导包
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns# 读取Excel表
file_path = 'demo.xlsx'  # 将文件名替换为你的Excel文件的路径
df = pd.read_excel(file_path, engine='openpyxl')
plt.figure(figsize=(10, 10))
sns.displot(df['Age'])
plt.title('Age Distribution')
# 如果出现title显示不全,使用tight_layout函数即可
plt.tight_layout() 
plt.show()

 

 5. 对表格数据进行可视化操作--生成散点图:

# 导包
import pandas as pd
import matplotlib.pyplot as plt# 读取Excel文件
file_path = 'demo.xlsx'  # 将文件名替换为你的Excel文件的路径
df = pd.read_excel(file_path, engine='openpyxl')# 确保数据包含'Name', 'Age', 和 'Gender'列
if 'Name' in df.columns and 'Age' in df.columns and 'Gender' in df.columns:# 创建散点图plt.scatter(df['Age'], df['Name'])plt.xlabel('Age')plt.ylabel('Name')plt.title('Scatter Plot')plt.show()
else:print("数据表中缺少'Name', 'Age', 或 'Gender'列。")

运行结果如下:

 6. 对年龄数据进行可视化操作--绘制箱线图: 

# 导包
import pandas as pd
import matplotlib.pyplot as plt# 读取Excel文件
file_path = 'demo.xlsx'  # 将文件名替换为你的Excel文件的路径
df = pd.read_excel(file_path, engine='openpyxl')# 绘制箱线图
plt.figure(figsize=(10, 5))
plt.boxplot(df['Age'])
plt.title('Box Plot of Age')
plt.xlabel('Name')
plt.ylabel('Age')
plt.show()

 运行结果如下:

 7. 对年龄数据进行可视化操作--绘制折线图:

import matplotlib.pyplot as plt
import pandas as pd
# 读取Excel表
file_path = 'demo.xlsx'  # 将文件名替换为你的Excel文件的路径
df = pd.read_excel(file_path, engine='openpyxl')
# 绘制折线图
plt.plot(df['Age'])
plt.title('Line Plot')
plt.xlabel('Time')
plt.ylabel('Age')
plt.show()

运行结果如下: 

 

如果想对多个变量进行折线图的绘制,只需要将x轴和y轴的数据列替换为相应的列名即可。

这里绘制Gender和Age之间的关系折线图(不太恰当,为了举例):

plt.plot(df['Gender'], df['Age'])
plt.title('Gender vs Age Line Plot')
plt.xlabel('Gender')
plt.ylabel('Age')
plt.show()

 

  8. 对年龄数据进行可视化操作--绘制直方图:

import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
# 读取Excel表
file_path = 'demo.xlsx'  # 将文件名替换为你的Excel文件的路径
df = pd.read_excel(file_path, engine='openpyxl')# 绘制直方图  bins参数指定了直方图的柱子数量
sns.distplot(df['Age'], bins=20)
plt.title('Age Distribution')
plt.show()

结果如下: 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/593341.shtml

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

相关文章

ModStartCMS v7.9.0 内容推荐支持,用户授权升级

ModStart 是一个基于 Laravel 模块化极速开发框架。模块市场拥有丰富的功能应用,支持后台一键快速安装,让开发者能快的实现业务功能开发。 系统完全开源,基于 Apache 2.0 开源协议,免费且不限制商业使用。 功能特性 丰富的模块市…

SomeIP/CommonAPI与Franca IDL使用教程(一)

回顾 SomeIP/CommonAPI环境搭建可以看我上一篇博客:Ubuntu环境下SomeIP/CommonAPI环境搭建详细步骤 什么是SomeIP SOME/IP(Service-Oriented Middleware over IP)是一种基于IP网络的通信协议,旨在支持汽车电子系统和嵌入式系统…

WSL 与真实 linux 环境区别有多大?

随着 Windows 系统的不断发展和完善,WSL(Windows Subsystem for Linux)作为 Windows 10 的一个功能,为 Windows 用户提供了一个可以在 Windows 环境下运行 Linux 二进制可执行文件的环境。然而,尽管 WSL 为用户提供了一…

海外SaaS应用加速难题如何破解?

随着云计算和软件即服务(SaaS)的发展,海外SaaS软件展现的优势逐渐体现,越来越多企业开始利用其进行降本增效。但是,海外SaaS软件的使用过程中常有问题出现,下文将介绍这些难题以及如何进行海外SaaS应用加速…

Java项目:107SpringBoot房屋租赁网站

博主主页:Java旅途 简介:分享计算机知识、学习路线、系统源码及教程 文末获取源码 一、项目介绍 房屋租赁网站基于SpringBootMybatis开发,系统分为管理员和普通用户两种角色。 管理员功能如下: 登录修改密码查看用户房屋管理图…

百度地图BMapGL通过geojson数据画镇级别区域图,并掩膜其他区域不展示

geojson镇级别的数据去这里下POI数据|POI兴趣点|POI数据库|POI兴趣点下载|POI数据下载|最新POI数据库|最全POI数据库|谷歌POI数据库|2023年POI数据库 <script src"https://unpkg.com/axios/dist/axios.min.js"></script>&#xff08;原始的html页面引入a…

图像的腐蚀与膨胀

图像的腐蚀与膨胀 设集合 B B B的反射为 B ^ \hat{B} B^&#xff0c;其定义如下 B ^ { w ∣ w − b , b ∈ B } \hat{B}\begin{Bmatrix}w|w-b,b\in B\end{Bmatrix} B^{w∣w−b,b∈B​} 设集合 B B B按照点 z ( z 1 , z 2 ) z(z_1,z_2) z(z1​,z2​)平移得到集合 ( B ) z (…

数据结构学习 jz46把数字翻译成字符串

关键词&#xff1a;动态规划 字符串 数组 滚动数组优化 这道题还算简单&#xff0c;调滚动数组废了点时间&#xff0c;dp状态和转移方程比较容易推出。 用时28mins。 题目&#xff1a; 思路&#xff1a; 把ciphertext拆成一个一个数字的方法&#xff1a; 求10的余数得到最…

AI边缘计算智能分析网关V4如何配置周界入侵检测算法

旭帆科技的智能分析网关V4内含近40种智能分析算法&#xff0c;包括人体、车辆、消防、环境卫生、异常检测等等&#xff0c;在消防安全、生产安全、行为检测等场景应用十分广泛&#xff0c;如常见的智慧工地、智慧校园、智慧景区、智慧城管等等&#xff0c;还支持抓拍、记录、告…

一个人去广东怎么找工作

广东这么大&#xff0c;不用怕没有学历活不下去。没有学历想好好活下去&#xff0c;就得卖力气。 广东找工作上 吉鹿力招聘网 打开 吉鹿力招聘网 “注册账号”&#xff0c;然后输入个人基本信息&#xff0c;进行注册&#xff08;可使用手机号注册&#xff0c;也可以使用邮箱注…

stable diffusion 基础教程-提示词之光的用法

基图 prompt: masterpiece,best quality,1girl,solo,looking at viewer,brown hair,hair between eyes,bangs,very long hair,red eyes,blush,bare shoulders,(white sundress),full body,leaning forward,medium breasts,unbuttoned clothes,Negative prompt: EasyNegativ…

【MPC学习笔记】02:MPC详细简介(Lecture 1_1 Unconstrained MPC)

本笔记来自北航诸兵老师的课程 课程地址&#xff1a;模型预测控制&#xff08;2022春&#xff09;lecture 1-1 Unconstrained MPC 接上一篇&#xff1a;【MPC学习笔记】01&#xff1a;MPC简介&#xff08;Lecture 1_1 Unconstrained MPC&#xff09; 文章目录 1 详细介绍1.1 状…

jupyter 配置

# 安装 pip install --upgrade pip setuptools pip install jupyter notebook6.4.9 # 生成Jupyter默认配置文件&#xff0c;并自定义配置选项 jupyter notebook --generate-config # 修改配置文件 /root/.jupyter/jupyter_notebook_config.py 注意使用参数 c.NotebookApp.a…

用python实现调用海康SDK

海康威视&#xff08;Hikvision&#xff09;提供了Python SDK&#xff0c;用于与他们的摄像头和其他设备进行交互。为了使用这些SDK&#xff0c;首先需要在你的系统上安装海康威视的Python库。 下面是如何在Python中使用海康威视的SDK来调用摄像头的方法&#xff1a; python复…

面试算法82:包含重复元素集合的组合

题目 给定一个可能包含重复数字的整数集合&#xff0c;请找出所有元素之和等于某个给定值的所有组合。输出中不得包含重复的组合。例如&#xff0c;输入整数集合[2&#xff0c;2&#xff0c;2&#xff0c;4&#xff0c;3&#xff0c;3]&#xff0c;元素之和等于8的组合有2个&a…

BUUCTF——Reverse——Java逆向解密

1、题目 2、工具 jd-gui&#xff1a;Java反汇编器。 ​python&#xff1a;编写自动化脚本。 3、方法 下载压缩包&#xff0c;解压得到一个.class文件。 ​题目已经说了是java逆向&#xff0c;所以使用jd-gui打开该文件。 代码如下&#xff1a; import java.io.PrintStream; …

WiFi7:EMLSR 操作之二 – 打开和关闭

原文&#xff1a;non-AP MLD如果想打开EMLSR模式&#xff0c;那么 --non-AP STA必须发送EML Operating Mode Notification帧&#xff0c;EML Control域的EMLSR Mode子域设置为1。 --可选的&#xff0c;non-AP STA将EML Control 域的In-Devic Coexistence Activities子域设置为1…

大模型笔记 【1】 大模型初探

以下是Andrej Karpathy一小时讲解chatgpt的笔记。 Andrej Karpathy做自动驾驶的人应该比较熟悉&#xff0c;他是李飞飞的学生。在openAI做了一年半的科学家之后&#xff0c;去了特斯拉。在Tesla AI day讲解tesla自动驾驶方案的就是他。 这里我的主要收获是两个 大模型是一个有…

王道考研计算机组成原理——数据的表示和运算

数制转换 任意进制》十进制&#xff1a;位权*位数即可 整数部分补0是补在头部&#xff0c;小数部分补0是补在尾部 一般都是先把十进制》二进制&#xff1b;然后二进制再转换成8/16进制这样子 一种更快的方法->拼凑法&#xff1a;小数部分整数部分都可以这样求 一般都是先…

挑战Python100题(9)

100+ Python challenging programming exercises 9 Question 81 Please write a program to randomly print a integer number between 7 and 15 inclusive. Hints: Use random.randrange() to a random integer in a given range. 请编写一个程序,随机打印一个介于7和15之间…