seaborn与pandas绘图入门

news2024/9/23 20:21:29

导入环境

import numpy as np
import pandas as pd
from numpy.random import randn
import matplotlib.pyplot as plt 

若是在jupyter notebook编译,需要额外执行下列语句

%matplotlib notebook

该语句在Jupyter Notebook或JupyterLab中使用的IPython魔法命令(magic command),它用于配置matplotlib库以在notebook环境中交互式地显示图形。这个命令启用了matplotlib的Jupyter Widgets后端,允许你直接在notebook中交互式地缩放、平移和保存图表。

绘制折线图

s=pd.Series(randn(10).cumsum(),index=np.arange(0,100,10))
s.plot()

多组数据

df = pd.DataFrame(randn(10,4).cumsum(0),columns=['A','B','C','D'],index=np.arange(0,100,10))
df.plot()

绘制柱状图

fig,axes = plt.subplots(2,1)
data = pd.Series(abs(randn(16)),index=list('abcdefghijklmnop'))
data.plot.bar(ax=axes[0],color='k',alpha=0.7)
data.plot.barh(ax=axes[1],color='k',alpha=0.7)

 

axes[0] 与axes[1]是subplot两个对象,alpha为透明度 ,'k'为black

df=pd.DataFrame(abs(randn(6,4)),index=['one','two','three','four','five','six'],columns=pd.Index(['A','B','C','D'],name='Example'))

 df数据见下图

绘制带有子系的柱状图 

df.plot.bar()

 

 绘制堆积柱状图

df.plot.barh(stacked=True,alpha=0.5)

 实例:派对规模与日期的数据统计

导入数据,数据放在博客上了,直接下载,注意路径

#导入数据
tips=pd.read_csv('examples/tips.csv')

大致浏览一下数据

 提取day与size列

party_counts = pd.crosstab(tips['day'],tips['size'])

 party_count数据如下图所示

对应数值除以标准值

party_pcts=party_counts.div(party_counts.sum(1),axis=0)

 结果如下图所示

 

 生成柱状图

party_pcts.plot.bar()

 

 由图表可以明显可以得出,在每天2人派对数量最多

导入seaborn模块

import seaborn as sns

 计算频率

tips['tip_pct'] = tips['tip']/(tips['total_bill']-tips['tip'])
tips.head()

 tips结果见下图

 使用seaborn绘制柱形图

sns.barplot(x='tip_pct',y='day',data=tips,orient='h')

 

 seaborn.barplot有一格hue选项,该选项通过一个额外的分类数值将数据分离出来,如下图所示

 sns.barplot(x='tip_pct',y='day',hue='time',data=tips,orient='h')

 绘制直方图

tips['tip_pct'].plot.hist(bins=50)

 

 小费百分比密度图(KDE)

tips['tip_pct'].plot.density()

 同时绘制直方图与连续密度估计

散点图

散点图用于检验两个一维数据之间的关系,数据集已经传入该博客

macro = pd.read_csv("examples/macrodata.csv")
data=macro[['cpi','m1','tbilrate','unemp']]
trans_data = np.log(data).diff().dropna()

trans_data = np.log(data).diff().dropna()解释

对原始数据data取自然对数,计算其自然对数的一阶差分,然后删除由于差分操作而产生的NaN值

 使用seaborn的regplot方法绘制散点图

sns.regplot('m1','unemp',data=trans_data)
plt.title('Changes in log %s verus log %s' % ('m1','unemp'))

使用该方法绘制散点图,并你和出一条线型回归线

散点矩阵图

绘制散点矩阵图,正对角线取得是自己与自己的,在这里取该变量的直方图或者密度图

sns.pairplot(trans_data,diag_kind='kde',plot_kws={'alpha':0.2})

 

 分面网格与分类数据

对是否吸烟进行面板分类 

sns.factorplot(x='day',y='tip_pct',hue='time',col='smoker',kind='bar',data=tips[tips.tip_pct<1])

按标签划分数据,如按时间,是否吸烟来划分小费百分比

 两个分类面板

sns.factorplot(x='day',y='tip_pct',row='time',col='smoker',kind='bar',data=tips[tips.tip_pct<1])

 绘制箱形图

sns.factorplot(x='day',y='tip_pct',kind='box',data=tips[tips.tip_pct<0.5])

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

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

相关文章

最新版的AutoGPT,我搭建好了

最近AutoGPT不是更新了嘛 安装 我按照官方的教程 在本地搭建好了 改动 可见的改动&#xff0c;主要是把原来的纯命令行改成前后端的形式 看下前端界面 界面比较简单&#xff0c;主要分3个大块 监控 第一个是监控 主要是看你在 build 里构建的Agents的运行情况 build 第一个是Ag…

C++笔试练习笔记【7】:力扣 91. 解码方法 动态规划练习

文章目录 题目题目分析思路解法正常解法优化解法 题目 题目链接&#xff1a;力扣 91. 解码方法 备用链接&#xff1a;https://leetcode.cn/problems/decode-ways/description/ 题目分析 1.首先我们知道题目给定A~Z编码为1 ~26 &#xff0c;而数字十一字符串的形式给出所以…

js构造函数的prototype赋值总结

我们知道通过构造函数的prototype,可以生成让所有实例对象访问的通用属性和方法,下面通过代码来解释这个过程 function Person(name){this.name name; }Person.prototype.sex man我们定义了一个构造函数Person,然后给它的prototype添加了一个sex的属性,下面我们来看看Person…

MySQL:复杂查询 (一)——聚合函数分组查询联合查询

目录 1、聚合查询 1.1 聚合函数 1.1.1 COUNT() 1.1.2 SUM() 1.1.3 AVG() 1.1.4 MAX()&#xff0c;MIN() 1.2 分组查询 1.2.1 GROUP BY子句 1.2.1.1 round() 1.2.2 HAVING 1.2.3 示例 2、联合查询 2.1 ①取相关表笛卡尔积 2.2 ②过滤无效数据 2.3 ③精简查询结果…

【数据结构】队列,你必须知道的内部原理!!!

&#x1f31e;&#x1f31e;&#x1f31e;生活本就沉闷&#xff0c;但跑起来就会有风 ~~~ 前言&#xff1a; &#x1f31f;&#x1f31f;Hello家人们&#xff0c;这期讲解数据结构队列的基础知识&#xff0c;希望你能帮到屏幕前的你。 &#x1f4da;️上期博客在这里&#xff1…

书生基础岛1-开发全链路

涌现能力&#xff1a;知识到运用的能力。 开源工具箱&#xff1a; 预训练&#xff1a; 微调&#xff1a; 部署&#xff1a; 智能体&#xff1a; 智能体&#xff1a; 知识库构建&#xff1a; RAG&#xff1a;

初识C++ · C++11(1)

目录 前言&#xff1a; 1 统一列表初始化 2 声明 2.1 auto 2.2 decltype 2.3 nullptr 2.4 stl的部分变化 3 右值引用和移动语义 前言&#xff1a; 在C11之前&#xff0c;C98的出现使得C看起来更像是一门独立的语言&#xff0c;C委员会成立后&#xff0c;对外宣称的是5…

神鸟云PCDN业务招募

短Z业务--支持nat0~nat4 省内调度&#xff0c;晚高峰 跑量9成 配置要求: 线路&#xff1a;单条上行30M 硬件&#xff1a;32线程 64内存条 240G系统盘 1G:2T固态盘单价&#xff1a;移动1900 电联2500 镜像下载&#xff1a;http://oss.download.birdicloud.com/box/Cent…

三层架构:IOCDI

三层架构 我们先看一下三层架构是什么 我们想要实现这三层架构的分离&#xff0c;实现一个类实现一个功能。 我们先建立一个包&#xff0c;然后在包下创建接口&#xff0c;然后再实现接口。从而实现三层架构分离。 IOC 为了实现这三层架构的分离&#xff0c;我们把创建类的…

协同过滤之矩阵分解算法问题详解

1、矩阵分解出现的原因 传统的协同过滤依赖用户的历史行为来推测用户对未评分商品的评分&#xff08;潜在兴趣&#xff09;&#xff0c;不需要了解物品的具体属性&#xff0c;也不需要知道用户的具体偏好&#xff0c;只需要历史评分数据就可以进行推荐&#xff0c;存在以下问题…

Query @azure/openai with images?

题意&#xff1a;使用图像与azure/openai进行交互或查询 问题背景&#xff1a; On chat.openai.com I can upload an image and ask chatgpt a question about it, with the existing openai and azure/openai api however there doesnt seem to be a way to do this? The Ch…

QT+ffmpeg环境配置

1.新建一个qt项目 2.下载ffmpeg文件Releases BtbN/FFmpeg-Builds GitHub 3.解压后&#xff0c;打开qt项目地址&#xff0c;将ffmpeg文件复制进qt项目 4.打开新建的qt项目头文件新加入如下内容&#xff1a;&#xff08;如有需求可按需求添加&#xff09; INCLUDEPATH $$PWD/i…

【多线程-从零开始-捌】阻塞队列,消费者生产者模型

什么是阻塞队列 阻塞队里是在普通的队列&#xff08;先进先出队列&#xff09;基础上&#xff0c;做出了扩充 线程安全 标准库中原有的队列 Queue 和其子类&#xff0c;默认都是线程不安全的 具有阻塞特性 如果队列为空&#xff0c;进行出队列操作&#xff0c;此时就会出现阻…

114套新闻网站源码+采集规则+安装使用教程-网络公司建站资源

运行环境 PHP5.6MYSQL5.6 – 系统版本支持WindowsLinux 源码介绍 1.版权问题 本114套新闻源码均由EYOUCMS系统二次开发而成&#xff0c;因为系统不涉及会员功能&#xff0c;所以没有版权纠纷问题&#xff0c;客户可以一直免费使用。 2.自动采集发布 系统自身集成了网易,新…

odoo17 翻译一个小bug

odoo17 翻译一个小bug 用户界面的没译过来 标红处&#xff0c;但在zh_CN.po中明显已经翻译过来了&#xff0c;采取暴力点的&#xff0c;直接把base下的base.pot删除&#xff0c;再更新一下&#xff0c;可以正常显示了

【区块链+社会公益】腾讯志愿者公益平台 | FISCO BCOS应用案例

由腾讯技术公益团队主导的“公益志愿者平台”&#xff0c;旨在链接公益组织和志愿者。公益组织入驻平台后可以发布公 益活动、征集志愿者&#xff0c;志愿者可以在平台报名参加公益活动、获得公益组织和平台联合颁发的志愿服务证书。 腾讯技术公益采用了微众区块链技术对 “公…

【Linux】网络编程套接字Scoket:UDP网络编程

目录 一、了解UDP协议 二、了解端口和IP地址 三、套接字概述与Socket的概念 四、Socket的类型 五、 Socket的信息数据结构 六、网络字节序与主机字节序的互相转换 七、地址转换函数 八、UDP网络编程流程及相关函数 socket函数 bind函数 recvfrom函数 sendto函数 …

网站开发涉及到的技术内容介绍——后端PHP(2)

网站开发涉及到的技术内容介绍——后端PHP(1)https://blog.csdn.net/xiaochenXIHUA/article/details/141000752?spm=1001.2014.3001.5501 一、PHP的常用函数 1.1、PHP文件夹的常用函数 PHP的目录常用函数 序号目录常用函数说明1$_SERVER[DOCUMENT_ROOT]获取到PHP项目的根目…

C++ -- 负载均衡式在线OJ (一)

一、项目宏观结构 1.项目功能 本项目的功能为一个在线的OJ&#xff0c;实现类似leetcode的题目列表、在线提交、编译、运行等功能。 2.项目结构 该项目一共三个模块&#xff1a; comm : 公共模块compile_server : 编译与运行模块oj_server : 获取题目列表&#xff0c;查看题…

Spring Boot项目缺少配置文件的解决方法:IDEA

本文介绍在IntelliJ IDEA软件中&#xff0c;为Spring Boot项目添加配置文件的操作方法。 最近&#xff0c;在IntelliJ IDEA软件中新创建了一个Spring Boot项目&#xff0c;是通过如下图所示的方法直接新建的。 但是&#xff0c;随后发现这样创建的Spring Boot项目没有配置文件。…