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 norm

import 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'>

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


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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

二.几何基础_直线

O以下皆为公理推导的定理,有公理组成的新的定义 一.角 1.由线所组成的新的定义 角: 一点出发由两个不同方向的射线组成的图像(注:构成角的边是无界线的) 顶点: 两射线交汇处,如图 可称顶点为 ∠ A 或 ∠ C A B , ∠ B A C ∠A或∠CAB,∠BAC ∠A或∠CAB,∠BAC边: 构成角的射…

Spring WebSocket实现实时通信的详细教程

简介 WebSocket 是基于TCP/IP协议&#xff0c;独立于HTTP协议的通信协议。WebSocket 连接允许客户端和服务器之间的全双工通信&#xff0c;以便任何一方都可以通过已建立的连接将数据推送到另一方。 我们常用的HTTP是客户端通过「请求-响应」的方式与服务器建立通信的&#x…

电力市场知识及市场出清电价(market clearing price)程序分享!

​Main-导览 一、电力市场概述 2000以前&#xff0c;国内并不存在电力市场&#xff0c;而是叫计划电力经济。发电侧为卖方&#xff0c;核算发电成本和利润上报国家&#xff0c;审核通过后就是上网电价。用户侧为买方&#xff0c;被动执行国家制定的分时电价。计划电力经济的优…

奇异值分解(SVD)【详细推导证明】

机器学习笔记 机器学习系列笔记&#xff0c;主要参考李航的《机器学习方法》&#xff0c;见参考资料。 第一章 机器学习简介 第二章 感知机 第三章 支持向量机 第四章 朴素贝叶斯分类器 第五章 Logistic回归 第六章 线性回归和岭回归 第七章 多层感知机与反向传播【Python实例…

使用opencv把视频转换为灰色并且逐帧率转换为图片

功能介绍 使用opencv库把视频转换为灰色&#xff0c;并且逐帧率保存为图片到本地 启动结果 整体代码 import cv2 import osvc cv2.VideoCapture(test.mp4)if vc.isOpened():open, frame vc.read() else:open Falseos.makedirs("grayAll", exist_okTrue) i 0 wh…

【Docker】Linux中使用Docker安装Nginx部署前后端分离项目应用

目录 一、概述 1. Nginx介绍 2. Nginx优势 3. Nginx的工作原理 二、容器创建 1. Mysql容器 2. Tomcat容器 3. Nginx容器 每篇一获 一、概述 1. Nginx介绍 Nginx&#xff08;发音为 "engine x"&#xff09;是一个开源的、高性能的 HTTP 服务器和反向代理服务…

项目开发中安全问题以及解决办法——客户请求需要校验

Slf4j RequestMapping("trustclientdata") Controller public class TrustClientDataController {//所有支持的国家private HashMap<Integer, Country> allCountries new HashMap<>();public TrustClientDataController() {allCountries.put(1, new Cou…

【音视频】基于NGINX如何播放rtmp视频流

背景 现阶段直播越来越流行&#xff0c;直播技术发展也越来越快。Webrtc、rtmp、rtsp是比较火热的技术&#xff0c;而且应用也比较广泛。本文通过实践来展开介绍关于rtmp如何播放。 概要 本文重点介绍基于NGINX如何播放rtmp视频流 正文 1、构造rtsp视频流 可以参考上一篇…

开发「定位线上问题」小工具总结

文章目录 1. 写在最前面1.1 背景1.2 思路 2. 如何快速解决问题2.1 分析问题2.2 补救问题2.2.1 思路2.2.2 实现 3. 碎碎念 1. 写在最前面 1.1 背景 同事给处理各种线上问题以及处理紧急要交付的需求版本的我&#xff0c;紧急插入了一个线上的问题&#xff1a; 问题说明&#…

甜蜜而简洁——深入了解Pytest插件pytest-sugar

在日常的软件开发中,测试是确保代码质量的关键步骤之一。然而,对于测试报告的生成和测试结果的可读性,一直以来都是开发者关注的焦点。Pytest插件 pytest-sugar 以其清晰而美观的输出,为我们提供了一种愉悦的测试体验。本文将深入介绍 pytest-sugar 插件的基本用法和实际案…

界面设计与品牌一致性

活动是电子商务行业最常见的运营手段之一&#xff0c;将借助各种节日不断推出促销活动&#xff1b;例如&#xff0c;从1月的元旦到12月的圣诞节&#xff0c;让用户关注节日的仪式&#xff0c;通过各种折扣促进用户订单&#xff0c;提高订单率。 让我们来思考一下活动页面是如何…

C++设计模式(李建忠)笔记4(完结)

C设计模式&#xff08;李建忠&#xff09; 本文是学习笔记&#xff0c;如有侵权&#xff0c;请联系删除。 参考链接 Youtube: C设计模式 Gtihub源码与PPT&#xff1a;https://github.com/ZachL1/Bilibili-plus 豆瓣: 设计模式–可复用面向对象软件的基础 总结23种设计模式…

Pymol快速做出Surface-cartoon图详细步骤

在使用Pymol时&#xff0c;每当想对某个部分进行单独操作时&#xff0c;可以通过选中以后&#xff0c;复制该对象并重命名的方式。例如以2j1x.pdb为例&#xff0c;原始导入文件后如下&#xff1a; 移除溶剂 PyMOL>remove solvent 对象选择 右下方的selecting表示选择的类…

Linux--进程控制

进程终止 进程终止是指一个正在运行的进程结束其执行并释放占用的系统资源的过程。进程可以通过以下几种方式终止&#xff1a; 正常终止&#xff1a;进程完成了它的任务&#xff0c;或者遇到了终止条件&#xff0c;例如调用了exit()函数或主函数执行完毕。 异常终止&#xff1…

Opencv小项目——手势数字刷TIKTOK

​ 写在前面&#xff1a; 很久没更新了&#xff0c;之前的实习的记录也算是烂尾了&#xff0c;但是好在自己的实习记录还是有的&#xff0c;最近也忙碌了很多&#xff0c;终于放假了&#xff0c;今天下午正好没事&#xff0c;闲来无事就随便做个小玩意吧。 思来想去&#xff…

Docker registry镜像仓库,私有仓库及harbor管理详解

目录 registry镜像仓库概述 Docker 镜像仓库&#xff08;Docker Registry&#xff09;&#xff1a; registry 容器&#xff1a; 私有仓库概述 搭建本地私有仓库示例 Harbor概述 harbor架构 详解构成 Harbor由容器构成 Harbor部署示例 环境准备 部署Docker-Compose服…

多路开关状态指示

1&#xff0e;  实验任务 AT89S51单片机的P1.0&#xff0d;P1.3接四个发光二极管L1&#xff0d;L4&#xff0c;P1.4&#xff0d;P1.7接了四个开关K1&#xff0d;K4&#xff0c;编程将开关的状态反映到发光二极管上。&#xff08;开关闭合&#xff0c;对应的灯亮&#xff0c;开…

Docker安装Nginx并部署MySQL容器构建

一.MySQL容器的构建 1.创建MySQL根目录及配置文件夹&data文件夹 mkdir -p mysql/{conf,data} 2.上传配置文件 将配置文件上传到conf文件夹&#xff08;数据库配置文件已放到置顶资源中&#xff09; 3.命令构建MySQL容器 /soft/mysql/conf/my.cnf:/etc/my.cnf目录为我们…

electron+vite+vue3 快速入门教程

文章目录 前言一、electron是什么&#xff1f;二、electron 进程模型1.主进程2.渲染进程3.预加载脚本4.进程通信4.1 sendon&#xff08;单向&#xff09;4.2 invokehandle (双向)4.3 主进程向渲染进程发送事件 三、窗口创建与应用事件四、技术栈和构建工具五、electron-vite安装…

网络编程【1】

【 1 】什么是网络编程 网络编程是指通过计算机网络进行数据交换和通信的编程过程。它涉及到使用网络协议和通信接口&#xff0c;使不同计算机之间能够进行数据传输和通信。 总结&#xff1a; 网络编程的研究前提就是基于互联网 网络编程就是基于互联网写代码 【 2 】为什么…