Pandas:Python可视化神器

news2025/1/23 13:05:16

大家好,数据可视化可以让我们很直观的发现数据中隐藏的规律,察觉到变量之间的互动关系,可以帮助我们更好的给他人解释现象,做到一图胜千文的说明效果。

常见的数据可视化库有:

  • matplotlib 是最常见的2维库,可以算作可视化的必备技能库,由于matplotlib是比较底层的库,api很多,代码学起来不太容易。

  • seaborn 是建构于matplotlib基础上,能满足绝大多数可视化需求。更特殊的需求还是需要学习matplotlib

  • pyecharts 上面的两个库都是静态的可视化库,而pyecharts有很好的web兼容性,可以做到可视化的动态效果。

但是在数据科学中,几乎都离不开pandas数据分析库,pandas的功能包括:

  • 数据采集 

  • 数据读取  pd.read_csv/pd.read_excel

  • 数据清洗(预处理)  

  • 可视化,兼容matplotlib语法

1.准备工作

如果你之前没有学过pandas和matpltolib,我们先安装好这几个库:

!pip3 install numpy
!pip3 install pandas
!pip3 install matplotlib

已经安装好,现在我们导入这几个要用到的库,使用的是伦敦天气数据,一开始只有12个月的小数据作为例子。

#jupyter notebook中需要加这行代码
%matplotlib inline
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
#读取天气数据
df = pd.read_csv('data/london2018.csv')
df

图片

2.绘制简单的图

选择Month作为横坐标,Tmax作为纵坐标,进行图像绘制。

2.1 折线图​​​​​​​

df.plot(x='Month', y='Tmax')
plt.show()

图片

  • 横坐标轴参数x传入的是df中的列名Month

  • 纵坐标轴参数y传入的是df中的列名Tmax

#grid绘制格线
df.plot(x='Month', y='Tmax', kind='line', grid=True)
plt.show()

上面的折线图中只有一条线, 将多个y绘制到一个图中,比如Tmax, Tmin。代码如下:​​​​​​​​​​​​​​

df.plot(x='Month', y=['Tmax', 'Tmin'])
plt.show()

2.2 条形图 

df.plot(x='Month',
        y='Rain',
        kind='bar')
#同样还可以这样画
#df.plot.bar(x='Month', y='Rain')
plt.show()

 多个变量的条形图:

df.plot(kind='bar',
        x = 'Month',
       y=['Tmax', 'Tmin'])
plt.show()

2.3 散点图 

df.plot(kind='scatter',
        x = 'Month',
        y = 'Sun')
plt.show()

2.4 饼形图

df.plot(kind='pie', y='Sun')
plt.show()

上图绘制有两个小问题:

  • legend图例不应该显示

  • 月份的显示用数字不太正规

df.index = ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec']
df.plot(kind='pie', y = 'Sun', legend=False)
plt.show()

2.5 箱型图

df2.plot.box(y='Rain')
#df2.plot(y='Rain', kind='box')
plt.show()

2.6 直方图

df2.plot(y='Rain', kind='hist')
#df2.plot.hist(y='Rain')
plt.show()

纵坐标的刻度可以通过bins设置:

df2.plot(y='Rain', kind='hist', bins=[0,25,50,75,100,125,150,175, 200])
#df2.plot.hist(y='Rain')
plt.show()

3.多图并存

df.plot(kind='line',
         y=['Tmax', 'Tmin', 'Rain', 'Sun'], #4个变量可视化
         subplots=True,   #多子图并存
         layout=(2, 2),   #子图排列2行2列
         figsize=(20, 10)) #图布的尺寸
plt.show()

df.plot(kind='bar',
         y=['Tmax', 'Tmin', 'Rain', 'Sun'], #4个变量可视化
         subplots=True,   #多子图并存
         layout=(2, 2),   #子图排列2行2列
         figsize=(20, 10)) #图布的尺寸
plt.show()

 综上所述,使用Pandas进行数据可视化,可以清晰直观观察数据,也可以df.plot更多参数,使图像更加美观,内容更加详细。

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

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

相关文章

如何基于 Gin 封装出属于自己 Web 框架?

思路 在基于 Gin 封装出属于自己的 Web 框架前,你需要先了解 Gin 的基本用法和设计理念。 然后,你可以通过以下步骤来封装自己的 Web 框架: 封装路由:Gin 的路由是通过 HTTP 方法和 URL 路径进行匹配的,你可以根据自己…

MySQl Mybatis

一、MySQL 1.1 概述 1.1.1 MySQL安装 1.1.2 数据模型 1.1.3 SQL简介 1.2 DDL 1.2.1 数据库操作 1.2.2 图形化工具 1.2.3 表结构操作 (一)创建 (二)数据类型 (1)数值类型 age tinyint unsigned——加上…

分布式链路追踪专栏,分布式链路追踪:Skywalking集群管理设计

SkyWalking 是一个开源 APM 系统,包括针对 Cloud Native 体系结构中的分布式系统的监视,跟踪,诊断功能。核心功能如下: 服务、服务实例、端点指标分析; 根本原因分析,在运行时分析代码; 服务拓…

从零开始搭建ubuntu 16.04 pwndocker环境

1.安装VMware-tools 1.1遇到问题 在使用 VMware Workstation时遇到了VMware Tools不能安装的问题,具体表现为:在要安装VMware Tools的虚拟机上右键 ----》安装VMware Tools(T)… 为灰色,不能够点击。 1.2解决方案    1. 关闭虚拟机&…

[学习笔记]刘知远团队大模型技术与交叉应用-汇总

参考资料: 视频:【清华NLP】刘知远团队大模型公开课全网首发|带你从入门到实战 课程计划 L1-NLP&Big Model Basics [学习笔记]刘知远团队大模型技术与交叉应用L1-NLP&Big Model Basics L2-Neural Network Basics [学习笔记]刘知…

力扣刷题(两数相加)

给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。 请你将两个数相加,并以相同形式返回一个表示和的链表。 你可以假设除了数字 0 之外,这两个数都不会以 0 …

【读书笔记】《重构_改善既有代码的设计》重构的方法论

重构的方法论 标题:【读书笔记】【读书笔记】《重构_改善既有代码的设计》重构的方法论 时间:2024.01.14 作者:耿鬼不会笑 重构是什么? 什么是重构: “重构”这个词既可以用作名词也可以用作动词。 重构(名词&…

如何在Python交互模式中运行py文件

Python是一种流行的编程语言,具有交互式的开发体验。除了编写和运行Python代码,Python还提供了交互式模式,允许用户在命令行界面中逐行输入和执行Python代码。在本文中,我们将介绍如何在Python的交互模式中运行.py文件&#xff0c…

室内定位相关中文期刊/学报笔记

这里写目录标题 文章最重要的部分通信学报1. 2023 基于扩散模型的室内定位射频指纹数据增强方法2. 2023 基于 CHAN 的改进卡尔曼滤波室内定位算法3. 2022 基于自适应蝙蝠算法的室内 RFID 定位算法4. 2017 基于核函数特征提取的室内定位算法研究5. 2021 基于CSI张量分解的室内Wi…

高级分布式系统-第11讲 现场总线技术

现场总线概述 国际电工委员会制定的国际标准IEC61158对现场总线(fieldbus)的定义是: 安装在制造或过程区域的现场装置与控制室内的自动控制装置之间的数字式、串行、多点通信的数据总线。 新型的现场总线控制系统突破了DCS系统中通信由专用网…

数据结构:堆和堆排序

数据结构:堆和堆排序 文章目录 数据结构:堆和堆排序1.二叉树的存储结构1.顺序结构2.链式结构 2.堆3.堆的实现4.堆排序(选择排序中的一类)1. 基本思想2.代码实现 1.二叉树的存储结构 1.顺序结构 顺序结构存储就是使用数组来表示一…

C语言经典算法之直接排序算法

目录 前言 一、代码实现 二、时空复杂度 时间复杂度: 空间复杂度: 前言 建议:1.学习算法最重要的是理解算法的每一步,而不是记住算法。 2.建议读者学习算法的时候,自己手动一步一步地运行算法。 tips:希尔排序算…

【数据结构 | 直接插入排序】

直接插入排序 思路直接插入排序 思路 扑克牌是我们几乎每个人都可能玩过的游戏。最基本的扑克玩法都是一边摸牌,边理牌。假如我们拿到了这样一手牌,如下图所示: 理牌的方法都是不用教的。将3和4移动到5的左侧,再将2移动到最左侧&…

Centos安装Datax

Centos7安装DataX 一、DataX简介二、DataX的数据源支持三、安装DataX1、下载DataX2、解压3、检验是否安装成功4、使用 四、实践案例1、环境信息2、编写同步的配置文件(user_info.json)3、执行同步4、验证同步结果 一、DataX简介 DataX 是阿里云 DataWorks数据集成 的开源版本&a…

Spring来了,春天还会远吗?

结束了JVM的学习后,要进入的是JavaEE进阶的学习了。JavaEE进阶学习内容很多很丰富,并且也很有难度。今天我们就从Spring开始讲起。 目录 框架的好处 怎么学框架 Spring核心与设计思想 容器 IoC Spring IoC DI(Dependency Injection&a…

GAN生成对抗网络介绍

GAN简介 GAN 全称是Generative Adversarial Networks,即生成对抗网络。 “生成”表示它是一个生成模型,而“对抗”代表它的训练是处于一种对抗博弈状态中的。 一个可以自己创造数据的网络! 判别模型与生成模型 判别模型(Discr…

Uniapp软件库源码-全新带勋章等

测试环境:php7.1。ng1.2,MySQL 5.6 常见问题: 配置好登录后转圈圈,检查环境及伪静态以及后台创建好应用 上传图片不了,检查php拓展fileinfo 以及public文件权限 App个人主页随机背景图,在前端uitl文件夹里面…

第9章-第2节-Java中的反射机制

1、概念: 反射机制:是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意属性和方法;这种动态获取信息以及动态调用对象方法的功能称为 java…

记录汇川:H5U于Factory IO测试13

主程序: 子程序: IO映射 子程序: 辅助出料 子程序: 模式选择 子程序: 示教程序 子程序: 手动程序 子程序: 统计程序 子程序: 异常报警 子程序: 自动程序: F…

Linux前后端项目部署

目录 1.jdk&tomcat安装 配置并且测试jdk安装 修改tomcat 配置文件 登入tomcat 发布 安装mysql 导入sql数据 发布项目war包 redis安装 nginx安装 配置nginx域名映射 部署前端项目 centos 7的服务安装 安装jdk 安装tomcat 安装Mysql 安装redis 安装nginx 前后…