关于简单的数据可视化

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

 使用清华源,命令如下:

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

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

pip 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()

结果如下: 

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

CSU计算机学院2021年C语言期末题目思路分享(后两道题)

文章目录 E: 实数相加——大数加法的拓展原题题目描述输入输出样例输入样例输出 题目思路实现步骤代码和注释 F: 谍影寻踪——链表的思想和运用原题题目描述输入输出样例输入样例输出 题目思路 一点感想 E: 实数相加——大数加法的拓展 原题 题目描述 C语言就要期末考试了&a…

com.gexin.platform 依赖下载问题

打包时报错显示&#xff1a; com.gexin.platform:gexin-rp-sdk-http:pom:4.1.1.4 failed to transfer from http://0.0.0.0/ 解决办法&#xff1a; 1、在idea中找到maven中的设置的settings.xml 2、根据路径找到settings.xml文件&#xff0c;添加以下内容 <mirror><…

2023春季李宏毅机器学习笔记 01 :正确认识 ChatGPT

资料 课程主页&#xff1a;https://speech.ee.ntu.edu.tw/~hylee/ml/2023-spring.phpGithub&#xff1a;https://github.com/Fafa-DL/Lhy_Machine_LearningB站课程&#xff1a;https://space.bilibili.com/253734135/channel/collectiondetail?sid2014800 一、对Chatgpt的误解…

『华为云耀云服务器实战』|云服务器如何快速搭建个人博客(图文详解)

文章目录 引言一、云耀云服务器L实例介绍1.1 准备一个华为云耀云服务器1.2 重置实例密码1.3 利用xshell 远程连接 二、安装环境软件2.1 安装git准备远程拉取2.2 安装Docker 和 Docker compose 三、博客开源项目介绍3.1 操作界面展览 四、拉取项目搭建个人博客4.1 拉取项目进行配…

【算法】一维、二维前缀和 解决算法题(C++)

文章目录 1. 前缀和算法 介绍2. 一维前缀和 模板引入DP34【模板】前缀和 3. 利用一维前缀和 解题724.寻找数组的中心下标238.除自身以外数组的乘积560.和为K的子数组974.和可被K整除的子数组525.连续数组 二维前缀和 模板1314.矩阵区域和 1. 前缀和算法 介绍 前缀和算法 用于高…

白话机器学习的数学-3-评估

1、 模型评估 那我们如何测量预测函数 fθ(x)的正确性&#xff0c;也就是精度呢&#xff1f; 观察函数的图形&#xff0c;看它能否很好地拟合训练数据&#xff1a; 这是只有一个变量的简单问题&#xff0c;所以才能在图上展 示出来。 过像多重回归这样的问题&#xff0c;变量增…

x-cmd pkg | bit - 实验性的现代化 git CLI

目录 简介首次用户功能特点竞品和相关作品进一步探索 简介 bit&#xff0c;由 Chris Walz 于 2020 年使用 Go 语言开发&#xff0c;提供直观的命令行补全提示和建立在 git 命令之上的封装命令&#xff0c;旨在建立完全兼容 git 命令的现代化 CLI。 首次用户 使用 x bit 即可自…

【华为机试】2023年真题B卷(python)-矩阵元素的边界值

一、题目 题目描述&#xff1a; 给定一个N*M矩阵&#xff0c;请先找出M个该矩阵中每列元素的最大值&#xff0c;然后输出这M个值中的最小值。 补充说明: N和M的取值范围均为: [0,100] 二、示例 示例1&#xff1a; 输入: [[1,2],[3,4]] 输出: 3 说明: 第一列元素为: 1和3&…

Linux 进程(五) 调度与切换

概念准备 当一个进程放在cpu上运行时&#xff0c;是必须要把进程的代码跑完才会进行下一个进程吗&#xff1f;答案肯定是 不对。现在的操作系统都是基于时间片轮转执行的。 时间片&#xff08;timeslice&#xff09;又称为“量子&#xff08;quantum&#xff09;”或“处理器片…

求职招聘小程序平台运营版系统源码 全开源源代码 附带完整的安装与部署教程

近年来&#xff0c;移动互联网的普及&#xff0c;求职招聘行业也在逐步向数字化转型。在这个过程中&#xff0c;小程序因其便捷性、即时性等特点&#xff0c;成为了求职者和招聘方的新宠。罗峰来给大家分享一款求职招聘小程序平台运营版系统源码&#xff0c;致力于为用户提供高…

安装elasticsearch、kibana、IK分词器、扩展IK词典

安装elasticsearch、kibana、IK分词器、扩展IK词典 后面还会安装kibana&#xff0c;这个会提供可视化界面方面学习。 需要注意的是elasticsearch和kibana版本一定要一样&#xff01;&#xff01;&#xff01; 否则就像这样 elasticsearch 1、创建网络 因为我们还需要部署k…

Unable to connect to Redis server

报错内容&#xff1a; Exception in thread "main" org.redisson.client.RedisConnectionException: java.util.concurrent.ExecutionException: org.redisson.client.RedisConnectionException: Unable to connect to Redis server: 175.24.186.230/175.24.186.230…

Elasticsearch:带有自查询检索器的聊天机器人示例

本工作簿演示了 Elasticsearch 的自查询检索器 (self-query retriever) 将问题转换为结构化查询并将结构化查询应用于 Elasticsearch 索引的示例。 在开始之前&#xff0c;我们首先使用 langchain 将文档分割成块&#xff0c;然后使用 ElasticsearchStore.from_documents 创建…

多粒度在研究中的应用

FontDiffuser: One-Shot Font Generation via Denoising Diffusion with Multi-Scale Content Aggregation and Style Contrastive Learning 存在的问题 现有的字体生成方法虽然取得了令人满意的性能&#xff0c;但在处理复杂字和风格变化较大的字符(尤其是中文字符)时&#x…

lunux(mysql下载以及操作)

下载mysql 查看镜像 docker images 下载MySQL镜像 mysql/mysql-server:8.0 创建文件夹&#xff0c;创建配置文件和放数据文件 mkdir -p /data/mysql/{conf,,data} 创建配置文件 my.cnf 写入配置文件my.cnf的代码 [client] default-character-setutf8[mysql] de…

MySQL数据库高级SQL语句及存储过程

目录 一、高级SQL语句 &#xff08;一&#xff09;case语句 1.语法定义 2.示例 &#xff08;二&#xff09;空值(NULL) 和 无值( ) 1.区别 2.示例 &#xff08;1&#xff09;字符长度 &#xff08;2&#xff09;判断方法 ① 空值(NULL) ② 无值( ) &#xff08;3…

了解Apache 配置与应用

本章内容 理解 Apache 连接保持 掌握 Apache 的访问控制 掌握 Apache 日志管理的方法 Apache HTTP Server 之所以受到众多企业的青睐&#xff0c;得益于其代码开源、跨平台、功能 模块化、可灵活定制等诸多优点&#xff0c;不仅性能稳定&#xff0c;在安全性方面的表现也十分…

物联网-物联网概念初识

物联网&#xff1a;将无线通信技术、传感设备、全球定位系统或其他信息获取方式等各种传感器嵌入到各种物体、设施中。 物联网三层架构 感知层 ——> 传输层 ——> 应用层 一、物联网通信协议 LoRa技术&#xff1a;基于扩频技术的超远距离无线传输方案&#xff0c;Lo…

C++上位软件通过Snap7开源库访问西门子S7-200/合信M226ES数据块的方法

前言 上一篇文章中介绍了Snap7访问西门子S7-1200/S7-1500 DB块的方法&#xff0c;对于S7-200PLC是没有数据块访问的。S7-200PLC中Snap7只能通过访问MB块&#xff0c;VB块的方法进行和PLC之间的Snap7通信和数据交换。手头没有S7-200PLC故通过合信CTMC M226ES运动控制器进行测试&…

以爱之名,与“EYE”同行 蔡司光学公益行一直在路上

用心传递公益温暖之力&#xff0c;助力更多乡村学童拥有光明未来。2023年12月26日&#xff0c;一场以“EYE”为主题的公益活动正在中卫市宣和镇东台小学举办。本次&#xff0c;眼视光领域领军品牌蔡司光学携手中卫德明眼科的专业视光团队一同来到活动现场&#xff0c;为该校全体…