[Python]可视化地展示出表格中某一列同一数据的出现次数

前言

Matplotlib画图工具的官网地址是 http://matplotlib.org/

Python环境下实现Matlab制图功能的第三方库,需要numpy库的支持,支持用户方便设计出二维、三维数据的图形显示,制作的图形达到出版级的标准。

pandas 是 Python 编程语言中一个强大的数据处理和分析库。它提供了快速、灵活和富有表达力的数据结构,设计目的是使“关系”或“标记”数据的“使用”既简单又直观。pandas 名称来源于“panel data”(面板数据)和“Python data analysis”(Python数据分析)这两个术语。

正文

1、导入必要的库

代码首先导入了必要的库:pandasmatplotlib.pyplot用于绘图。

import pandas as pdimport matplotlib.pyplot as plt

2、df['year'].value_counts().plot(kind='bar')

df['year'].value_counts().plot(kind='bar')

主要就是这行代码,靠他!就能完成提要所要求的工作

  1. df['year']: 这从DataFrame df 中选择了名为 'year' 的列。

  2. .value_counts(): 这是一个pandas Series的方法,用于计算该列中每个唯一值的出现次数。它返回一个新的Series,其索引是原始Series中的唯一值,值是这些唯一值在原始Series中出现的次数。

  3. .plot(kind='bar'): 这将使用matplotlib库来绘制一个条形图。kind='bar' 告诉 .plot() 方法我们要绘制的是条形图。

3、绘制条形图

import pandas as pdimport matplotlib.pyplot as pltimport os# 打印当前工作目录路径print(os.path.abspath('.'))# 加载数据集df = pd.read_csv('student_score.csv')# 可视化每个年份的数据分布plt.figure(figsize=(10, 6))df['year'].value_counts().plot(kind='bar')plt.title('Distribution of Data by Year')plt.xlabel('Year')plt.ylabel('Count') # 显示图形plt.show()

4、绘制饼图

plt.figure(figsize=(10, 6))df['year'].value_counts().plot(kind='pie')plt.title('Distribution of Data by Year')plt.xlabel('Year')plt.ylabel('Count')

5、小结

在Python的pandas库中,plot(kind='') 方法用于绘制不同类型的图形。kind 参数决定了图形的类型。以下是一些常用的 kind 值以及它们对应的图形:

  1. 'line' 或 'line': 绘制线图(折线图)。

  2. 'bar': 绘制条形图。

  3. 'barh': 绘制水平条形图。

  4. 'hist': 绘制直方图。

  5. 'box': 绘制箱线图(盒须图)。

  6. 'kde': 绘制核密度估计图。

  7. 'density': 绘制密度图(与 'kde' 类似,但可能在某些版本的pandas中有所不同)。

  8. 'area': 绘制面积图。

  9. 'pie': 绘制饼图。

  10. 'scatter': 绘制散点图。

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

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

相关文章

PHP 使用 PHPMailer 发送电子邮件

1. PHPMailer 介绍 phpMailer 是一个非常强大的 php 发送邮件扩展包,可以设定发送邮件地址、回复地址、邮件主题、html邮件内容和上传附件等,使用起来非常方便。它目前有着有近 4 千万的下载量,是 PHP 开发者实现邮件发送功能的首选扩展包 它…

12.基础乐理-半音、全音

音是有高有底的,音的震动频率越高、音的赫兹越高,我们就说这个音越高,钢琴从左到右,音是逐渐变高的,因变高,它的频率,Hz数是在增加的,如下图: 但是赫兹它动不动就是几百几…

NPL预训练模型-GPT-3

简介及特点 GPT-3是一个由OpenAI开发的自然语言处理(NLP)预训练模型,它是生成式预训练变换器(Generative Pretrained Transformer)系列的第三代模型。GPT-3以其巨大的规模和强大的语言处理能力而闻名,具有…

爬虫 | 基于 Python 实现有道翻译工具

Hi,大家好,我是半亩花海。本项目旨在利用 Python 语言实现一个简单的有道翻译工具。有道翻译是一款常用的在线翻译服务,能够实现多种语言的互译,提供高质量的翻译结果。 目录 一、项目功能 二、注意事项 三、代码解析 1. 导入…

DC-9渗透测试复现

DC-9渗透测试复现 目的: 获取最高权限以及flag 过程: 信息打点--sql注入- 文件包含漏洞-Knockd开门开启ssh连接-hyjra爆破-sudo提权(文件追加) 环境: 攻击机:kali(192.168.85.137) 靶机:DC_3(192.168.85.141) …

javaswing + mysql通讯录

javaswingaddressbook 需要代码私聊

结构体及应用;结构体指针及应用;union、enum、typedef三个关键字

结构体及应用 参考文章链接:https://blog.csdn.net/zw1996/article/details/53844585结构体的声明 结构体的初始化 注意如果在定义结构体变量的时候没有初始化,那么后面就不能全部一起初始化了。 /这样是可以的,在定义变量的时候就初始化了…

(十四)C++自制植物大战僵尸游戏windows平台视频播放实现

植物大战僵尸游戏开发教程专栏地址http://t.csdnimg.cn/8UFMs VLC库 在Cocos2d-x游戏开发框架中,没有实现windows平台视频播放的功能,需要自定义实现。在本项目中使用vlc库实现windows平台的视频播放功能。 vlc官网:网址 下载完成后&#x…

虚幻引擎源码版安装下载,点击GenerateProjectFiles.bat报错 error NU1101NuGet包问题解决参考方案

开发环境配置与源码安装使用 安装VS2022 按照官方文档安装需要的vs配置 虚幻引擎源代码下载 Epic里面下载的引擎与源代码引擎区别:Epic里面下载的引擎是已经编译过的它的源代码访问权限不完整,源代码版本提供比较完整引擎代码,并且可以修…

MDK stm32怎么生成bin文件

第一种 D:\Keil_v5\ARM\ac5.6\bin\fromelf.exe --bin -o ../../Output/atk_f407.bin ../../Output/atk_f407.axf 空格解析 D:\Keil_v5\ARM\ac5.6\bin\fromelf.exe一个空格--bin一个空格-o两个空格../../Output/atk_f407.bin ../../Output/atk_f407.axf (注意后…

ELK,ELFK日志收集分析系统

ELK简介 ELK是一套完整的日志集中处理解决方案,将ElasticSearch,Logstash和Kibana三个开源工具配合使用,实现用户对日志的查询、排序、统计需求。 ELK工作原理 在所有需要收集日志的服务器上部署Logstash,或者先将日志进行集中…

c# .net 香橙派 Orangepi GPIO高低电平、上升沿触发\下降沿触发 监听回调方法

c# .net 香橙派GPIO高低电平、上升沿触发\下降沿触发 监听回调方法 通过gpio readall 查看 gpio编码 这里用orangepi zero3 ,gpio= 70为例 当gpio 70 输入高电平时,触发回调 c# .net 代码 方法1: Nuget 包 System.Device.Gpio ,微软官方库对香橙派支持越来越好了,用得…

SpringBoot多数据源(二)

SpringBoot多数据源AbstractRoutingDataSource(二) 1.多数据源配置2.多数据源调用流程3.实现 1.多数据源配置 spring-jdbc模块提供AbstractRoutingDataSource,其内部可以包含了多个DataSource, 然后在运行时来动态的访问数据库 2.多数据源…

【Python系列】查看虚拟环境信息和包大小

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

Java基于SpringBoot+Vue的蜗牛兼职网系统的研究与实现

博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇…

CSS-布局

display display 属性是用于控制 布局 的最重要的 CSS 属性。display 属性规定是否/如何显示元素。 每个 HTML 元素都有一个默认的 display 值,具体取决于它的元素类型。大多数元素的默认 display 值为 block 或 inline。 block block:块级元素。块级…

越来越多服务区安装智慧公厕是什么原因

随着社会的不断发展,人们对生活质量的要求也越来越高。在这种背景下,越来越多的服务区开始安装智慧公厕,以满足人们在出行过程中的生活需求。那么,为什么越来越多的服务区选择安装智慧公厕呢?这其中究竟有哪些原因呢&a…

你信不信,五分钟快速学习Nginx

Nginx是什么? Nginx 是一个高性能的HTTP和反向代理服务器。它是由俄罗斯程序员Igor Sysoev开发的,最初是为了解决俄罗斯大型的门户网站的高流量问题。 说到反向代理,那么有没有正向代理呢? 正向代理:客户端非常明确要…

Swift Publisher 5 for mac:打造精美版面

Swift Publisher 5 for mac:打造精美版面 Swift Publisher 5是一款专业的版面设计和编辑工具,为Mac用户提供了强大的设计功能和直观的操作界面。以下是关于Swift Publisher 5的功能介绍: 直观易用的界面:用户能够轻松地使用Swift …

每日两题 / 189. 轮转数组 560. 和为 K 的子数组(LeetCode热题100)

189. 轮转数组 - 力扣&#xff08;LeetCode&#xff09; 向右轮转将使尾部k个元素顶到头部 将整个数组反转&#xff0c;再分别反转前k个元素和剩下的元素即可 class Solution { public:void rotate(vector<int>& nums, int k) {k % nums.size();reverse(nums.begi…