数据探索与可视化:可视化分析数据关系-中

目录

一、前言

二、介绍

Ⅰ.一个分类变量和一个连续变量

Ⅱ.两个分类变量的一个连续变量

Ⅲ.两个分类变量和两个连续变量

Ⅳ.一个分类变量和多个连续变量

①.平行坐标轴

②.矩阵散点图

三、结语


一、前言

在做数据分析的时候,很少会遇到连续变量和分类变量,更多的是需要我们对同时包含连续变量和分类变量进行可视化分析。所以我们在在本篇当中要开始来学习如何处理同时包含连续变量和分类变量进行可视化分析的问题。

二、介绍

Ⅰ.一个分类变量和一个连续变量

import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
import altair as alt
Iris=pd.read_csv(r'C:\Users\asuspc\Desktop\program\data\chap2\Iris.csv')
Irislong=Iris.melt(['Id','Species'],var_name='measurement_type',value_name='value')

开始之前还是老样子,先导包和获取数据,得到之后,我们将数据变成长型数据用到melt方法,Id和Species变量与其他数据的变化无关所以我们不将这两个数据进行融合。

我们就能得出如上的数据,那么接下来就是开始使用可视化,我们可以使用箱线图,分析在不同分类变量下,连续变量的分布情况。

plt.figure(figsize=(10,6))
sns.boxplot(data=Irislong,x='Species',y='value')
plt.title('Box')
plt.show()

这里对X轴和Y轴的变量名称注释清楚,然后将处理好的数据Irislong放入。

从图中我们可以发现,三者的极差(上下四分位数的距离)趋于一致,但是数据的集中位置在依次升高,箱线图在这的确利于我们取理解数据构成的趋势。 

Ⅱ.两个分类变量的一个连续变量

plt.figure(figsize=(10,6))
sns.boxplot(data=Irislong,x='Measurement_type',y='value',hue='Species')
plt.title('The Box of Divided-group')
plt.show()

到了两个分类变量的一个连续变量时,我们依然使用箱线图,与一个分类变量和一个连续变量来说,我们更加需要分组的箱线图进行可视化。

这里的参数中hue视为分类变量,将数据分位不同组。

 

这样我们就能在不同种类中分析同一个数据项的关系,也能让我们一目了然看出一定的趋势。 

Ⅲ.两个分类变量和两个连续变量

 如果想要可视化两个分类变量和两个连续变量之间的关系,那我们需要分面散点图。

Titanic=pd.read_csv(r"C:\Users\asuspc\Desktop\program\data\chap2\Titanic数据.csv")
fig=sns.FacetGrid(data=Titanic,row='Survived',col='Sex',margin_title=True,height=3,aspect=1.4)
fig.map(sns.scatterplot,'Age','Fare')
plt.show()

先分面散点图,其中两个分类变量将可视化切为网格,如何在对应的网格下可视化出两个连续变量的散点图,从而帮助我们 能够对数据进行分析。

 

从中我们可以对比不同性别在不同年龄的不同票价中的存活顾客,可以看出,不同年龄层的女性存活总数相对于男性较少,并且买低票价的男性存活高于买低票价的女性

 

而这张是改变survived为embarked,我们可以看到不同登港的人数和性别对于。

S是Southampton南安普顿,C是Cherbourg法国瑟堡,Q是Queenstown爱尔兰昆士敦。

Ⅳ.一个分类变量和多个连续变量

①.平行坐标轴

plt.figure(figsize=(10,6))
parallel_coordinates(Iris.iloc[:,1:6],"Species",alpha=0.8)
plt.title('Parallel_Coordinates')
plt.show()

这里需要的导包是from pandas.plotting import parallel_coordinates, 用iloc的方法定位取值,而class_column:str 包含类名的列名。(即按类别划分),我们这里只是将将class_column省略,直接填‘Species’。

其中每一个变量都是横轴中的一个坐标点,值的大小标记在对应的竖直线上,用颜色为分组变量中的每条平行线进行分组。我们清晰的看出第三个连续变量在不同类别的差异是最大的,最小的是第一个连续变量。

②.矩阵散点图

 

sns.pairplot(Iris.iloc[:,1:6],hue='Species',height=2,aspect=1.2,diag_kind='kde',markers=['o','s','D'])
plt.show()

 我们用三种不同的颜色来描述不同种类在这一连续变量的密集程度,hue参数如上为分类分组,iloc是数据的切片操作。

这样我们就可以更加具体分析在不同分类变量里的连续变量的关系,有助于我们对不同分类变量对比不同连续变量的数据特征。

三、结语

这些数据描述的通常是表格数据,那么对于其他类型的数据也有特定的数据可视化的方法,下一篇我们将对其进行相关介绍。

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

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

相关文章

(每日持续更新)jdk api之NotActiveException基础、应用、实战

博主18年的互联网软件开发经验,从一名程序员小白逐步成为了一名架构师,我想通过平台将经验分享给大家,因此博主每天会在各个大牛网站点赞量超高的博客等寻找该技术栈的资料结合自己的经验,晚上进行用心精简、整理、总结、定稿&…

重写Sylar基于协程的服务器(2、配置模块的设计)

重写Sylar基于协程的服务器(2、配置模块的设计) 重写Sylar基于协程的服务器系列: 重写Sylar基于协程的服务器(0、搭建开发环境以及项目框架 || 下载编译简化版Sylar) 重写Sylar基于协程的服务器(1、日志模…

idea搭建spring5.3.x源码环境

1.写在前面的话 碰到了不少想阅读或者学习spring源码的同学,但是第一步搭建这个源码阅读环境就能难倒了一大批人。下面我就以spring5.3.x这个源码分支,来具体演示一下搭建过程。 2. 下载源码 下载源码这一步,说实话,由于某些原…

Django模板(一)

一、基本规则 作为一个Web框架,Django需要一种方便的方式来动态生成HTML。最常用的方法依赖于模板。模板包含所需HTML输出的静态部分以及描述如何插入动态内容的特殊语法 1.1、django默认模板 在settings中配置: TEMPLATES = [{BACKEND: django.template.backends.django.…

基于 Echarts 的 Python 图表库:Pyecahrts交互式的日历图和3D柱状图

文章目录 概述一、日历图和柱状图介绍1. 日历图基本概述2. 日历图使用场景3. 柱状图基本概述4. 柱状图使用场景 二、代码实例1. Pyecharts绘制日历图2. Pyecharts绘制2D柱状图3. Pyecharts绘制3D柱状图 总结 概述 本文将引领读者深入了解数据可视化领域中的两个强大工具&#…

数据解构+算法(第07篇):动态编程!黄袍加身!

作者简介:大家好,我是smart哥,前中兴通讯、美团架构师,现某互联网公司CTO 联系qq:184480602,加我进群,大家一起学习,一起进步,一起对抗互联网寒冬 学习必须往深处挖&…

力扣hot100 对称二叉树 递归

Problem: 101. 对称二叉树 文章目录 思路Code 思路 👨‍🏫 参考 Code 时间复杂度: O ( n ) O(n) O(n) 空间复杂度: O ( n ) O(n) O(n) /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* …

【10秒开服】雾锁王国服务器全自动部署教程

你是火焰之子,一个濒死种族最后的希望火苗。苏醒吧,克服腐化一切的迷雾所裹挟的恐怖,重新夺回你的王国所失落的瑰丽。置身于广袤世界,战胜难以想象的强大Boss,修造宏伟厅堂,在这款至多16名玩家的合作类生存…

sectigo ip ssl证书有哪些

Sectigo是移交成立时间较久的CA认证机构,几十年来在全球颁发了各种各样的数字证书,例如,单域名SSL证书、多域名SSL证书、通配符SSL证书等域名SSL证书。Sectigo旗下也有一些不常见的数字证书,例如,代码签名证书、IP证书…

HTTP中传输协议的数据格式

HTTP 概述:超文本传输协议(Hyper Text Transfer Protocol) 传输协议:定义了客户端和服务器通信时,发送数据的格式 客户端和服务器端交互:客户端向服务器端发送请求,服务器端向客户端响应请求 HTTP特点:…

【RT-DETR有效改进】利用YOLO-MS的MSBlock模块改进ResNet中的Bottleneck(RT-DETR深度改进)

👑欢迎大家订阅本专栏,一起学习RT-DETR👑 一、本文介绍 本文给大家带来的改进机制是利用YOLO-MS提出的一种针对于实时目标检测的MSBlock模块(其其实不能算是Conv但是其应该是一整个模块),我们将其用于替换我们ResNet中Basic组合出一种新的结构,来替换我们网络中的…

【Bugs】Jmeter报错:NoSuchMethodError: org.apache.jmeter.samplers.

报错情况 Jmeter版本:5.4.3 报错场景:在线程组中添加了jpgc - PerfMon Metrics Collector性能监控组件后出现报错。 Jmeter中无法运行测试,cmd命令行中出现以下报错。 cmd报错详细内容: Uncaught Exception java.lang.NoSuchMe…

Mac 上终端配置

Mac 上终端配置 初始化了一下自己的 mac 笔记本,所以重新记一下终端配置,最终的完成版的需求是这样的: 存在的指令需要显示绿色进行提示: 不存在的指令则是显示红色进行提示: 同时具备对指令进行提示 一个看起来…

spark window源码探索

核心类: 1. WindowExec 物理执行逻辑入口,主要doExecute()和父类WindowExecBase 2. WindowFunctionFrame 窗框执行抽象,其子类对应sql语句的不同窗框 其中又抽象出BoundOrdering类, 用于判断一行是否在界限内(Bound), 分为RowBoundOrdering…

2024美赛MCM 问题 C 网球运动的动量(Momentum in Tennis)

2024 MCM Problem C: Momentum in Tennis In the 2023 Wimbledon Gentlemen’s final, 20-year-old Spanish rising star Carlos Alcaraz defeated 36-year-old Novak Djokovic. The loss was Djokovic’s first at Wimbledon since 2013 and ended a remarkable run for one o…

直播团队职责

一、内容策划 直播团队的内容策划人员是整个直播活动的核心,他们需要负责策划直播的主题、内容、形式以及时间安排等。同时,他们还需要负责邀请嘉宾、安排活动等,确保直播内容丰富、有趣、有价值。 二、主播管理 主播是直播活动的关键人物…

提升CKA考试胜算:一文带你全面了解RBAC权限控制!

RBAC概述 RBAC引入了四个新的顶级资源对象。Role、ClusterRole、RoleBinding、 ClusterRoleBinding。同其他 API 资源对象一样,用户可以使用 kubectl 或者 API 调用等 方式操作这些资源对象。kubernetes集群相关所有的交互都通过apiserver来完成,对于这…

计算机网络第4章(网络层)

4.1、网络层概述 简介 网络层的主要任务是实现网络互连,进而实现数据包在各网络之间的传输 这些异构型网络N1~N7如果只是需要各自内部通信,他们只要实现各自的物理层和数据链路层即可 但是如果要将这些异构型网络互连起来,形成一个更大的互…

《云原生安全攻防》-- 云原生安全概述

从本节课程开始,我们将正式踏上云原生安全的学习之旅。在深入探讨云原生安全的相关概念之前,让我们先对云原生有一个全面的认识。 什么是云原生呢? 云原生(Cloud Native)是一个组合词,我们把它拆分为云和原生两个词来…

存内计算芯片研究进展及应用—以基于NorFlash的卷积神经网络量化及部署研究突出存内计算特性

文章目录 存内计算的背景存算一体技术发展历程 存内计算芯片研究现状SRAM存内计算DRAM存内计算ReRAM/PCM存内计算MRAM存内计算NOR Flash存内计算 基于 NOR Flash 的卷积神经网络量化卷积神经网络基本结构卷积神经网络量化方法研究实验及结果分析心得 参考文献 如果我能看得更远…