EDA-数据探索-pandas自带可视化-iris

2024-01-19 04:12

本文主要是介绍EDA-数据探索-pandas自带可视化-iris,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

# 加载yellowbrick数据集
import os
import pandas as pd
FIXTURES  = os.path.join(os.getcwd(), "data")
df = pd.read_csv(os.path.join(FIXTURES,"iris.csv"))
df.head()
sepal_lengthsepal_widthpetal_lengthpetal_widthspecies
05.13.51.40.2setosa
14.93.01.40.2setosa
24.73.21.30.2setosa
34.63.11.50.2setosa
45.03.61.40.2setosa
df.head().to_dict()
{'sepal_length': {0: 5.1, 1: 4.9, 2: 4.7, 3: 4.6, 4: 5.0},'sepal_width': {0: 3.5, 1: 3.0, 2: 3.2, 3: 3.1, 4: 3.6},'petal_length': {0: 1.4, 1: 1.4, 2: 1.3, 3: 1.5, 4: 1.4},'petal_width': {0: 0.2, 1: 0.2, 2: 0.2, 3: 0.2, 4: 0.2},'species': {0: 'setosa', 1: 'setosa', 2: 'setosa', 3: 'setosa', 4: 'setosa'}}

可视化相关的库

import warnings
warnings.filterwarnings('ignore')import numpy as np
from scipy.stats import normimport seaborn as sns
import matplotlib.pyplot as plt
get_ipython().run_line_magic('matplotlib', 'inline')plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False 
df.columns
Index(['sepal_length', 'sepal_width', 'petal_length', 'petal_width','species'],dtype='object')
plt.style.available
['Solarize_Light2','_classic_test_patch','_mpl-gallery','_mpl-gallery-nogrid','bmh','classic','dark_background','fast','fivethirtyeight','ggplot','grayscale','seaborn-v0_8','seaborn-v0_8-bright','seaborn-v0_8-colorblind','seaborn-v0_8-dark','seaborn-v0_8-dark-palette','seaborn-v0_8-darkgrid','seaborn-v0_8-deep','seaborn-v0_8-muted','seaborn-v0_8-notebook','seaborn-v0_8-paper','seaborn-v0_8-pastel','seaborn-v0_8-poster','seaborn-v0_8-talk','seaborn-v0_8-ticks','seaborn-v0_8-white','seaborn-v0_8-whitegrid','tableau-colorblind10']
plt.style.use( 'seaborn-v0_8')

字符特征

条形图(柱状图)展示每个字符特征的频数分布。

df[‘字符特征’].value_counts().plot(kind=‘bar’)

df['species'].value_counts().plot(kind='bar')  # 均衡的一笔
<Axes: xlabel='species'>

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

数字特征

直方图展示数字特征的分布情况。

df[‘数字特征’].plot(kind=‘hist’)

df['sepal_length'].plot(kind='hist')
<Axes: ylabel='Frequency'>

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

from scipy.stats import gaussian_kde# 绘制直方图
ax = df['sepal_length'].plot(kind='hist', bins=10, density=True)# 计算核密度估计
density = gaussian_kde(df['sepal_length'])x, y = np.linspace(df['sepal_length'].min(), df['sepal_length'].max(), 100), density(np.linspace(df['sepal_length'].min(), df['sepal_length'].max(), 100))# 绘制拟合曲线
ax.plot(x, y) # ,color='red'# 显示图形
plt.show()

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传


分类结果

饼图展示分类结果的占比情况。

df[‘分类结果’].value_counts().plot(kind=‘pie’)

ax = df['species'].value_counts().plot(kind='pie') # 均衡的一笔
# 自定义ylabel
ax.set_ylabel(' ')
# 显示图形
plt.show()

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

字符特征与数字特征关系

箱线图展示不同字符特征对应的数字特征的分布情况。

df.boxplot(column=‘数字特征’, by=‘字符特征’)

df.boxplot(column='sepal_length', by='species') # ,color='orange'
# 自定义标题
plt.title(' ')
# 显示图形
plt.show()

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

字符特征与数字特征关系

折线图展示不同字符特征对应的数字特征的均值变化趋势。

df.groupby(‘字符特征’)[‘数字特征’].mean().plot(kind=‘line’)

df.groupby('species')['sepal_length'].mean().plot(kind='line')
<Axes: xlabel='species'>

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

数字特征间的关系

散点图展示两个数字特征之间的相关性。

df.plot(kind=‘scatter’, x=‘数字特征1’, y=‘数字特征2’)

df.plot(kind='scatter', x='sepal_length', y='sepal_width')
<Axes: xlabel='sepal_length', ylabel='sepal_width'>

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

数字特征的分布情况

箱线图展示数字特征的分布情况和异常值。

df.boxplot(column=‘数字特征’)

df.boxplot(column='sepal_length') # ,color='#4C72B0'
<Axes: >

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

数字特征的分布情况

核密度估计图展示数字特征的概率密度分布。

df[‘数字特征’].plot(kind=‘density’)

df['sepal_length'].plot(kind='density')
<Axes: ylabel='Density'>

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

字符特征和分类结果的交叉统计

交叉表展示字符特征和分类结果之间的频数统计。

pd.crosstab(df[‘字符特征’], df[‘分类结果’]).plot(kind=‘bar’)

pd.crosstab(df['species'], df['species']).plot(kind='bar')
<Axes: xlabel='species'>

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传


这篇关于EDA-数据探索-pandas自带可视化-iris的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/621226

相关文章

一文教你Python如何快速精准抓取网页数据

《一文教你Python如何快速精准抓取网页数据》这篇文章主要为大家详细介绍了如何利用Python实现快速精准抓取网页数据,文中的示例代码简洁易懂,具有一定的借鉴价值,有需要的小伙伴可以了解下... 目录1. 准备工作2. 基础爬虫实现3. 高级功能扩展3.1 抓取文章详情3.2 保存数据到文件4. 完整示例

使用Java将各种数据写入Excel表格的操作示例

《使用Java将各种数据写入Excel表格的操作示例》在数据处理与管理领域,Excel凭借其强大的功能和广泛的应用,成为了数据存储与展示的重要工具,在Java开发过程中,常常需要将不同类型的数据,本文... 目录前言安装免费Java库1. 写入文本、或数值到 Excel单元格2. 写入数组到 Excel表格

python处理带有时区的日期和时间数据

《python处理带有时区的日期和时间数据》这篇文章主要为大家详细介绍了如何在Python中使用pytz库处理时区信息,包括获取当前UTC时间,转换为特定时区等,有需要的小伙伴可以参考一下... 目录时区基本信息python datetime使用timezonepandas处理时区数据知识延展时区基本信息

Qt实现网络数据解析的方法总结

《Qt实现网络数据解析的方法总结》在Qt中解析网络数据通常涉及接收原始字节流,并将其转换为有意义的应用层数据,这篇文章为大家介绍了详细步骤和示例,感兴趣的小伙伴可以了解下... 目录1. 网络数据接收2. 缓冲区管理(处理粘包/拆包)3. 常见数据格式解析3.1 jsON解析3.2 XML解析3.3 自定义

SpringMVC 通过ajax 前后端数据交互的实现方法

《SpringMVC通过ajax前后端数据交互的实现方法》:本文主要介绍SpringMVC通过ajax前后端数据交互的实现方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价... 在前端的开发过程中,经常在html页面通过AJAX进行前后端数据的交互,SpringMVC的controll

使用Python实现矢量路径的压缩、解压与可视化

《使用Python实现矢量路径的压缩、解压与可视化》在图形设计和Web开发中,矢量路径数据的高效存储与传输至关重要,本文将通过一个Python示例,展示如何将复杂的矢量路径命令序列压缩为JSON格式,... 目录引言核心功能概述1. 路径命令解析2. 路径数据压缩3. 路径数据解压4. 可视化代码实现详解1

Pandas透视表(Pivot Table)的具体使用

《Pandas透视表(PivotTable)的具体使用》透视表用于在数据分析和处理过程中进行数据重塑和汇总,本文就来介绍一下Pandas透视表(PivotTable)的具体使用,感兴趣的可以了解一下... 目录前言什么是透视表?使用步骤1. 引入必要的库2. 读取数据3. 创建透视表4. 查看透视表总结前言

Python 交互式可视化的利器Bokeh的使用

《Python交互式可视化的利器Bokeh的使用》Bokeh是一个专注于Web端交互式数据可视化的Python库,本文主要介绍了Python交互式可视化的利器Bokeh的使用,具有一定的参考价值,感... 目录1. Bokeh 简介1.1 为什么选择 Bokeh1.2 安装与环境配置2. Bokeh 基础2

pandas中位数填充空值的实现示例

《pandas中位数填充空值的实现示例》中位数填充是一种简单而有效的方法,用于填充数据集中缺失的值,本文就来介绍一下pandas中位数填充空值的实现,具有一定的参考价值,感兴趣的可以了解一下... 目录什么是中位数填充?为什么选择中位数填充?示例数据结果分析完整代码总结在数据分析和机器学习过程中,处理缺失数

Pandas使用AdaBoost进行分类的实现

《Pandas使用AdaBoost进行分类的实现》Pandas和AdaBoost分类算法,可以高效地进行数据预处理和分类任务,本文主要介绍了Pandas使用AdaBoost进行分类的实现,具有一定的参... 目录什么是 AdaBoost?使用 AdaBoost 的步骤安装必要的库步骤一:数据准备步骤二:模型