跟着Iris案例学Seaborn之Histplot

简介: 跟着Iris案例学Seaborn之Histplot

本期,我们继续学习Seaborn中的第三种图形——Histograms(直方图),对应在Seaborn中的函数为histplot。Histograms直方图是数据集分布的图形表示。它们可以揭示数据的重要特征,例如:数据是否服从正态分布、偏向一侧或具有多个峰值。它们显示数据的不同区间或“区间”内的观测值频率或计数。直方图的 x 轴表示数据集中的值范围,分为等距的间隔或分箱;y轴表示落在每个条形框内的观测值的频率或计数。直方图中每个条形的高度对应于该区间中的观测值数。一、iris数据集简介

Iris数据集是一个非常著名的多变量数据集,由英国统计学家和生物学家罗纳德·费舍尔(Ronald Fisher)在1936年引入。它通常用于展示分类算法和聚类分析。Iris数据集包含了150个样本,每个样本有4个特征:萼片长度、萼片宽度、花瓣长度和花瓣宽度。这些样本分别属于3个不同的鸢尾花种类(Iris setosa、Iris virginica 和 Iris versicolor),每个种类各有50个样本。数据集的特征1.萼片长度 (Sepal Length): 以厘米为单位测量的花萼的长度。2.萼片宽度 (Sepal Width): 以厘米为单位测量的花萼的宽度。3.花瓣长度 (Petal Length): 以厘米为单位测量的花瓣的长度。4.花瓣宽度 (Petal Width): 以厘米为单位测量的花瓣的宽度。5.种类 (Species): 样本所属的鸢尾花种类。
具体数据集的链接如下:

通过百度网盘分享的文件:iris.csv

链接:https://pan.baidu.com/s/1we5Zb80xXecqY5Rhdqs8gA

提取码:6666

二、跟着iris数据集学histplot

2.1 导入数据集

import pandas as pdimport seaborn as snsimport matplotlib.pyplot as plt
# 设置中文字体plt.rcParams['font.family'] = 'SimHei' 
df=pd.read_csv('iris.csv')
df

825f8dca43fc4343cb7d048f786891b8.png

283f69cc8a2f8a7e2b11c148e5e556e3.png

一个150行、5列的数据集,无缺失数据。

2.2 简单的直方图我们用Seaborn中的histplot对sepal_width这一列简单做个直方图,看一下萼片宽度的大致分布。

# Histogram with KDEsns.histplot(data=df, x='sepal_width',              kde=True)plt.title('Histogram with KDE')plt.tight_layout()plt.show()

这里,我们也用kde做了直方图的加窗平滑,运行结果为:

1ed9de4e2e2bd5f382dc68a0860232d2.png

从图中,我们可以看到片宽度从2到4.5的简单分布。KDE曲线也证实它非常接近正态分布。

2.3 多柱直方图

#多柱直方图sns.histplot(data=df)

f176f82c47b991bce4f1dc89c13c8ab4.png

多柱直方图显示了不同颜色的萼片宽度、萼片长度、花瓣宽度和花瓣长度的分布。可以看到,histplot直接过滤掉了最后一列:Species,因为这一列没有数值

2.3 重叠直方图


sns.histplot(data=df, x='petal_length', hue='species')

8d1adf877a4aad702591470334cb70c9.png

从重叠直方图中可以看到,Virginica植物的花瓣长度要比setosa和versicolor植物大得多。

2.4 堆叠直方图

#堆叠直方图sns.histplot(df, x='sepal_length', hue='species',               multiple='stack',linewidth=0.5)

d23c92e0b18a0ed7e61bdbe2642ff5ad.png

堆叠直方图显示了不同花种萼片长度的差异。virginica植物的萼片长度比setosa植物大得多。

三、小结

本期,我们介绍了有关Seaborn中绘制直方图的工具函数histplot,当然,Seaborn的histplot函数也提供了许多定制选项,比如:可以轻松地添加核密度估计(通过设置kde=True,参加2.1),改变直方图的颜色和样式等,你可以根据自己的需求调整这些参数来优化你的图表。

当然,想要了解更多关于histplot的功能,可以参见官方文档:

https://seaborn.pydata.org/generated/seaborn.histplot.html

通过使用Seaborn的histplot函数,我们可以快速而有效地创建出既美观又信息丰富的直方图,这不仅有助于我们更好地理解数据,还能在报告和展示中提供直观的视觉支持。下期见

相关文章
|
5天前
|
数据采集 前端开发 NoSQL
Python编程异步爬虫实战案例
Python编程异步爬虫实战案例
15 2
|
5天前
|
数据采集 自然语言处理 API
Python反爬案例——验证码的识别
Python反爬案例——验证码的识别
14 2
|
6天前
|
iOS开发 MacOS Python
Python编程小案例—利用flask查询本机IP归属并输出网页图片
Python编程小案例—利用flask查询本机IP归属并输出网页图片
13 1
|
8天前
|
存储 大数据 Python
案例学Python:filter()函数的用法,高级!
`filter()`函数是Python中处理序列数据的强大工具,它允许我们高效地根据条件过滤元素。通过结合匿名函数、常规函数或直接利用Python的内置逻辑,`filter()`提供了灵活且高效的过滤机制,尤其在大数据处理和内存敏感的应用中展现出其价值。掌握 `filter()`的使用,不仅能提升代码的可读性和效率,还能更好地适应Python的函数式编程风格。
18 2
|
8天前
|
Python
Python编程案例:同一工作簿不同表单特定数据添加到工作簿的另一表单里
Python编程案例:同一工作簿不同表单特定数据添加到工作簿的另一表单里
11 1
|
2天前
|
存储 算法 API
Python学习五:函数、参数(必选、可选、可变)、变量、lambda表达式、内置函数总结、案例
这篇文章是关于Python函数、参数、变量、lambda表达式、内置函数的详细总结,包含了基础知识点和相关作业练习。
10 0
|
6天前
|
人工智能 API iOS开发
ChatGPT编程Python小案例(拿来就用)—解压zip压缩文
ChatGPT编程Python小案例(拿来就用)—解压zip压缩文
17 0
|
6天前
|
人工智能 小程序 Python
Python编程小案例——编一个事件提醒弹窗小程序
Python编程小案例——编一个事件提醒弹窗小程序
10 0
|
8天前
|
IDE 开发工具 iOS开发
Python编程案例:招生档案按省份地区归档
Python编程案例:招生档案按省份地区归档
10 0
|
8天前
|
IDE 开发工具 iOS开发
Python编程案例:中文金额转换并计算
Python编程案例:中文金额转换并计算
13 0