关于简单的数据可视化

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开发,系统分为管理员和普通用户两种角色。 管理员功能如下: 登录修改密码查看用户房屋管理图…

图像的腐蚀与膨胀

图像的腐蚀与膨胀 设集合 B B B的反射为 B ^ \hat{B} B^,其定义如下 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把数字翻译成字符串

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

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

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

一个人去广东怎么找工作

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

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)

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

用python实现调用海康SDK

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

BUUCTF——Reverse——Java逆向解密

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

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

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

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

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

挑战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之间…

Single-Image Crowd Counting via Multi-Column Convolutional Neural Network

Single-Image Crowd Counting via Multi-Column Convolutional Neural Network 论文背景人群密度方法过去的发展历史早期方法基于轨迹聚类的方法基于特征回归的方法基于图像的方法 Multi-column CNN用于人群计数基于密度图的人群计数通过几何自适应核生成密度图密度图估计的多列…

【论文+在线运行】AnyText:能准确写汉字的AI绘图工具

源码:https://github.com/tyxsspa/AnyText 阿里在线运行: https://modelscope.cn/studios/damo/studio_anytext/summary 论文:2311.AnyText: Multilingual Visual Text Generation And Editing 一、AnyTexT是什么? 是一个基于扩散模型的&am…

ATE自动测试设备是什么?如何帮助测试电源反复短路?

什么是电源反复短路测试? 反复短路测试是电源极限测试项目之一,是在各种输入和输出状态下将电源输出短路,反复多次短路测试,检测电源是否可以实现保护或回缩,测试结束后之后,电源是否可以自动恢复正常运行。反复短路测…

Java原生启动Tomcat

文章目录 引入依赖启动Tomcat代码示例将嵌入式 Tomcat 服务器用于已有的 WAR 文件为现有的 Java Web 应用程序嵌入 Tomcat 服务器 相关APITomcat APIContonxt API 启动错误springboot底层Tomcat的实现学习博客 引入依赖 maven: <dependency><groupId>org.apache.…