如何用 Python 快速揭示数据之间的各种关系!

chatgpt赋能python:Python数据拟合入门 本文由chatgpt生成,文章没有在chatgpt生成的基础上进行任何的修改。以上只是chatgpt能力的冰山一角。作为通用的Aigc大模型,只是展现它原本的实力。对于颠覆工作方式的ChatGPT,应该选择拥抱而不是抗拒,未来属于“会用”AI的人。🧡AI职场汇报智能办公文案写作效率提升教程 🧡专注于AI+职场+办公方向。下图是课程的整体大纲下图是AI职场汇报智能办公文案写作效率提升教程中用到的ai工具。 阅读详情

探索性数据分析 (EDA) 涉及两个基本步骤

  • 数据分析 (数据预处理、清洗以及处理) 。

  • 数据可视化 (使用不同类型的图来展示数据中的关系) 。

Pandas 是 Python 中最常用的数据分析库。Python 提供了大量用于数据可视化的库,Matplotlib 是最常用的,它提供了对绘图的完全控制,并使得绘图自定义变得容易。

但是,Matplotlib 缺少了对 Pandas 的支持。而 Seaborn 弥补了这一缺陷,它是建立在 Matplotlib 之上并与 Pandas 紧密集成的数据可视化库。

然而,Seaborn 虽然活干得漂亮,但是函数众多,让人不知道到底该怎么使用它们?不要怂,本文就是为了理清这点,让你快速掌握这款利器。

这篇文章主要涵盖如下内容,

  • Seaborn 中提供的不同的绘图类型。

  • Pandas 与 Seaborn 的集成如何实现以最少的代码绘制复杂的多维图?

  • 如何在 Matplotlib 的辅助下自定义 Seaborn 绘图设置?

谁适合阅读这篇文章?

如果你具备 Matplotlib 和 Pandas 的基本知识,并且想探索一下 Seaborn,那么这篇文章正是不错的起点。

如果目前只掌握 Python,建议 翻阅文末相关文章,特别是 在掌握 Pandas 的基本使用之后再回到这里来或许会更好一些。

1 Matplotlib

尽管仅使用最简单的功能就可以完成许多任务,但是了解 Matplotlib 的基础非常重要,其原因有两个,

  • Seaborn 在底层使用 Matplotlib 绘图。

  • 一些自定义项需要直接使用 Matplotlib。

这里对 Matplotlib 的基础作个简单概述。下图显示了 Matplotlib 窗口的各个要素。

需要了解的三个主要的类是图形 (Figure) ,图轴 (Axes) 以及坐标轴 (Axis) 。

  • 图形 (Figure)

它指的就是你看到的整个图形窗口。同一图形中可能有多个子图 (图轴) 。在上面的示例中,在一个图形中有四个子图 (图轴) 。

  • 图轴 (Axes)

图轴就是指图形中实际绘制的图。一个图形可以有多个图轴,但是给定的图轴只是整个图形的一部分。在上面的示例中,我们在一个图形中有四个图轴。

  • 坐标轴 (Axis)

坐标轴是指特定图轴中的实际的 x-轴和 y-轴。

本帖子中的每个示例均假设已经加载所需的模块以及数据集,如下所示,

import pandas as pd
import numpy as np
from matplotlib import pyplot as plt
import seaborn as sns

tips = sns.load_dataset('tips')
iris = sns.load_dataset('iris')
import matplotlib
matplotlib.style.use('ggplot')
tips.head()
total_billtipsexsmokerdaytimesize
016.991.01FemaleNoSunDinner2
110.341.66MaleNoSunDinner3
221.013.50MaleNoSunDinner3
323.683.31MaleNoSunDinner2
424.593.61FemaleNoSunDinner4
iris.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

让我们通过一个例子来理解一下 Figure 和 Axes 这两个类。

dates = ['1981-01-01', '1981-01-02', '1981-01-03', '1981-01-04', '1981-01-05',
         '1981-01-06', '1981-01-07', '1981-01-08', '1981-01-09', '1981-01-10']

min_temperature = [20.7, 17.9, 18.8, 14.6, 15.8, 15.8, 15.8, 17.4, 21.8, 20.0]
max_temperature = [34.7, 28.9, 31.8, 25.6, 28.8, 21.8, 22.8, 28.4, 30.8, 32.0]

fig, axes = plt.subplots(nrows=1, ncols=1, figsize=(10,5));
axes.plot(dates, min_temperature, label='Min Temperature');
axes.plot(dates, max_temperature, label = 'Max Temperature');
axes.legend();

plt.subplots() 创建一个 Figure 对象实例,以及 nrows x ncols 个 Axes 实例,并返回创建的 Figure 对象和 Axes 实例。在上面的示例中,由于我们传递了 nrows = 1 和 ncols = 1,因此它仅创建一个 Axes 实例。如果 nrows > 1 或 ncols > 1,则将创建一个 Axes 网格并将其返回为 nrows 行 ncols 列的 numpy 数组。

Axes 类最常用的自定义方法有,

Axes.set_xlabel()         Axes.set_ylabel()
Axes.set_xlim()           Axes.set_ylim()
Axes.set_xticks()         Axes.set_yticks()
Axes.set_xticklabels()    Axes.set_yticklabels()
Axes.set_title()
Axes.tick_params()

下面是一个使用上述某些方法进行自定义的例子,

fontsize =20
fig, axes = plt.subplots(nrows=1, ncols=1, figsize=(15,7))
axes.plot(dates, min_temperature, label='Min Temperature')
axes.plot(dates, max_temperature, label='Max Temperature')

axes.set_xlabel('Date', fontsize=fontsize)
axes.set_ylabel('Temperature', fontsize=fontsize)

axes.set_title('Daily Min and Max Temperature', fontsize=fontsize)

axes.set_xticks(dates)
axes.set_xticklabels(dates)
axes.tick_params('x', labelsize=fontsize, labelrotation=30, size=15)


axes.set_ylim(10,40)
axes.set_yticks(np.arange(10,41,2))
axes.tick_params('y',labelsize=fontsize)

axes.legend(fontsize=fontsize,loc='upper left', bbox_to_anchor=(1,1));

上面我们快速了解了下 Matplotlib 的基础知识,现在让我们进入 Seaborn。

2 Seaborn

Seaborn 中的每个绘图函数既是图形级函数又是图轴级函数,因此有必要了解这两者之间的区别。

  • 如前所述,图形指的是你看到的整个绘图窗口上的图,而图轴指的是图形中的一个特定子图。

  • 图轴级函数只绘制到单个 Matplotlib 图轴上,并不影响图形的其余部分。

  • 而图形级函数则可以控制整个图形。

我们可以这么来理解这一点,图形级函数可以调用不同的图轴级函数在不同的图轴上绘制不同类型的子图。

sns.set_style('darkgrid')

2.1 图轴级函数

下面罗列的是 Seaborn 中所有图轴级函数的详细列表。

关系图Relational Plots

  • scatterplot( )

  • lineplot( )

类别图Categorical Plots

  • striplot( )、swarmplot( )

  • boxplot( )、boxenplot( )

  • violinplot( )、countplot( )

  • pointplot( )、barplot( )

分布图Distribution Plots

  • distplot( )

  • kdeplot( )

  • rugplot( )

回归图Regression Plots

  • regplot( )

  • residplot( )

矩阵图MatrixPlots( )

  • heatmap( )

使用任何图轴级函数需要了解的两点,

  • 将输入数据提供给图轴级函数的不同方法。

  • 指定用于绘图的图轴。

2.1.1 将输入数据提供给图轴级函数的不同方法

1、列表、数组或系列

将数据传递到图轴级函数的最常用方法是使用迭代器,例如列表 list,数组 array 或序列 series

total_bill = tips['total_bill'].values
tip = tips['tip'].values

fig = plt.figure(figsize=(10, 5))
sns.scatterplot(total_bill, tip, s=15);

tip = tips['tip'].values
day = tips['day'].values

fig = plt.figure(figsize=(10, 5))
sns.boxplot(day, tip, palette="Set2");

数据拟合的相关函数(图像及应用实例 )- 基于python 基于python去实现一些基础的拟合 阅读详情

相关推荐

基于python的二手房数据爬取与分析

为了更清晰地查看具体的重复值,我们借助print(data[data.duplicated()])打印出了重复值的详细信息,为了确保数据的准确性和简洁性,我们采用了data.drop_duplicates(inplace=True)方法来删除当前的重复项。然后,通过Xpath表达式定位到需要提取信息的节点,并使用相应的方法提取出所需的信息,如房屋地址、名称、房间数目、朝向、其他信息、总价、每平方的价钱和建造年份等。它将复杂的数据转化为易于理解的视觉元素,帮助人们发现数据中的模式、趋势和关系。

2401_84513239的博客 2784

【Pytorch教程】:关系拟合(回归)

目录建立数据集torch.linspacetorch.unsqueeze & torch.squeeze建立神经网络训练网络可视化训练过程全部代码: 神经网络是如何通过简单的形式将一群数据用一条线条来表示. 或者说, 是如何在数据当中找到他们的关系, 然后用神经网络模型来建立一个可以代表他们关系的线条. 建立数据集 我们创建一些假数据来模拟真实的情况. 比如一个一元二次函数: y=a∗x2+by = a * x^2 + by=a∗x2+b, 我们给 y 数据加上一点噪声来更加真实的展示它. impo

nanke_4869的博客 1598

Python使用matplotlib可视化散点图、可视化两个数值变量之间的关系(Scatter plot)

Python使用matplotlib可视化散点图、可视化两个数值变量之间的关系(Scatter plot)

data+scenario+science+insight 1172

基于Python实现数据特征相关性分析

基于Python实现数据特征相关性分析 基于pandas_profiling的数据特征相关性分析 效果 程序代码 # encoding:utf-8 ''' 参数相关性分析 功能:分析参数的相关性并生成统计报告 ''' import pandas as pd import pandas_profiling if __name__=='__main__': inputfile = '../data/compressor_data_5000.xlsx' # 数据路径 data = .

CJW的博客 3781

从脑电到脑机接口:EEG/ERP特征如何驱动你的下一个智能硬件项目(Arduino/树莓派实战)

本文详细介绍了如何利用EEG/ERP特征提取技术驱动智能硬件项目,涵盖从脑电信号采集到脑机接口实现的完整流程。通过Arduino和树莓派实战,展示了P300、N400等事件相关电位的应用,帮助开发者将学术理论转化为可编程的交互指令,适用于智能家居、医疗辅助等领域。

weixin_29279047的博客 383

Pyinstaller 打包 Pyzbar 时缺失 DLL 文件的排查与修复指南

本文详细解析了使用Pyinstaller打包Pyzbar库时,因缺失关键DLL文件导致程序闪退的常见问题。文章提供了从问题复现、错误诊断到最终修复的完整解决方案,核心在于通过修改.spec配置文件,手动将缺失的libzbar-64.dll等文件添加到打包过程中,确保生成的可执行文件能独立运行。

wdx012345的博客 504

用 Python 对数据进行相关性分析

在进行数据分析时,我们所用到的数据往往都不是一维的,而这些数据在分析时难度就增加了不少,因为我们需要考虑维度之间的关系。而这些维度关系的分析就需要用一些方法来进行衡量,相关性分析就是其中...

Python中文社区 10万+

海康威视门禁考勤设备数据对接实战:从被动推送到主动拉取

本文深入探讨了海康威视门禁考勤设备数据对接的两种核心方案:HTTP推送与SDK主动拉取。文章对比了两种方式的适用场景、技术实现与优缺点,为开发者提供了从设备配置、代码编写到工程化部署的完整实战指南,帮助读者根据项目规模、网络环境及数据稳定性要求,做出最合适的技术选型。

weixin_29284657的博客 670

matplotlib如何绘制两点间连线_如何用 Python 快速揭示数据之间的各种关系

探索性数据分析(EDA)涉及两个基本步骤数据分析(数据预处理、清洗以及处理)。数据可视化(使用不同类型的图来展示数据中的关系)。Pandas 是 Python 中最常用的数据分析库。Python 提供了大量用于数据可视化的库,Matplotlib 是最常用的,它提供了对绘图的完全控制,并使得绘图自定义变得容易。但是,Matplotlib 缺少了对 Pandas 的支持。而 Seaborn...

weixin_39733805的博客 735

冗余位技术在SAR ADC中的动态误差恢复机制解析

本文深入解析了冗余位技术在SAR ADC中的动态误差恢复机制,详细介绍了其基本概念、动态误差产生原因及冗余位的容错空间设计、时序松弛策略和数字校正算法。通过实际电路设计案例和数学建模,展示了冗余位技术如何显著提升ADC的精度和能效比,同时探讨了未来发展方向。

weixin_28335283的博客 975

Codesys电子凸轮从入门到应用:手把手教你用MC_CamIn/MC_CamOut实现主从轴同步

本文详细介绍了如何在Codesys平台上使用MC_CamIn和MC_CamOut功能块实现电子凸轮的主从轴同步控制。从环境配置、轴使能到凸轮表创建与动态切换,提供了完整的程序编写指南和调试技巧,帮助工程师快速掌握工业自动化中的高精度运动控制技术。

weixin_26878995的博客 277

数据窗口 label_如何用 Python 快速揭示数据之间的各种关系

探索性数据分析(EDA)涉及两个基本步骤数据分析(数据预处理、清洗以及处理)。数据可视化(使用不同类型的图来展示数据中的关系)。Pandas 是 Python 中最常用的数据分析库。Python 提供了大量用于数据可视化的库,Matplotlib 是最常用的,它提供了对绘图的完全控制,并使得绘图自定义变得容易。但是,Matplotlib 缺少了对 Pandas 的支持。而 Seaborn...

weixin_39547298的博客 191

手把手教你用PlantVillage数据集搭建农作物病害识别模型(Python实战)

本文详细介绍了如何使用PlantVillage数据集和Python构建农作物病害识别模型。从环境准备、数据获取到模型构建、训练与评估,手把手教你实现一个实用的农业AI应用。特别针对PlantVillage数据集的特点,提供了处理类别不平衡、图像预处理和模型优化的实战技巧,帮助开发者快速掌握农作物病害识别技术。

weixin_29184371的博客 479

探索医学数据:使用Seaborn的成对关系图揭示变量间的关联

成对关系图是医学研究中一种非常有用的数据可视化工具。通过绘制成对关系图,研究人员可以快速了解数据集中变量间的潜在关系,发现关联,评估治疗效果,并优化治疗方案。

qq_38844835的博客 1553

空地多无人平台协同路径规划复现:从建模到Matlab仿真全解析

路径规划是机器人领域的核心基础技术,从单机避障到多平台协同,问题复杂度显著提升。空地协同规划融合无人机与无人车的异构优势,通过将地图分层建模为空中与地面栅格,并采用A*算法生成初始路径、B样条平滑以及改进遗传算法进行任务分配与时间同步优化,能够有效处理几何约束、运动学约束和避碰约束等。该技术广泛应用于区域巡逻、目标搜索、物资转运等任务场景,也是高校论文复现和工程仿真的常见课题。本文从问题建模、算法设计到Matlab代码结构,系统梳理了一套空地多无人平台协同路径规划的复现思路,同时给出坐标系校准、遗传算法收敛

weixin_32175665的博客 250

华为 S2600T 存储 3 种网络端口(H4/H5/串口)用途解析与故障恢复实战

本文深度解析华为S2600T存储设备的三种关键网络端口(H4/H5/串口)的功能用途与故障恢复方法。通过详细的配置指南和实战案例,帮助管理员掌握管理接口(H4)的日常运维、维护接口(H5)的高级应用以及串口的应急操作,提升存储设备的可靠性和维护效率。

weixin_30899023的博客 336

5 句超简单的 Python 代码,帮你快速摸透数据!

5 句超简单的 Python 代码,帮你快速摸透数据!

m0_73367097的博客 1万+

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

视觉化医学数据:使用气泡图揭示患者健康指标的关系

气泡图因其直观性和多维性而广受欢迎。本文将通过一个具体例子,展示如何使用气泡图来分析患者的体重、胆固醇、药物剂量和血糖水平之间的关系。

qq_38844835的博客 932

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

4种快速易用的Python数据可视化方法

在蜘蛛网图中,一个变量相对于另一个变量的显著性是清晰而明显的,因为在特定的方向上,覆盖的面积和距离中心的长度变得更大。例如,在图的顶部,阿柏怪 和尖嘴鸟是直接连接的,如果我们查看数据,阿柏怪的总分为 438,尖嘴鸟则为 442,二者非常接近!不同的颜色代表不同的值,通过矩阵的索引将需要被对比的两项或两个特征关联在一起。Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

zhishi0000的博客 1380

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

四种快速易用的Python数据可视化方法

数据可视化是数据科学或机器学习项目中十分重要的一环。通常,你需要在项目初期进行探索性的数据分析(EDA),从而对数据有一定的了解,而且创建可视化确实可以使分析的任务更清晰、更容易理解,特别是对于大规模的高维数据集。在项目接近尾声时,以一种清晰、简洁而引人注目的方式展示最终结果也是非常重要的,让你的受众(通常是非技术人员的客户)能够理解。

m0_72557783的博客 6173

Natron WriteFFmpeg 节点完全指南:基于 FFmpeg 的视频序列输出、编码参数与数字中间片实践

WriteFFmpeg(`fr.inria.openfx.WriteFFmpeg`,插件文档见 [Documentation/source/plugins/fr.inria.openfx.WriteFFmpeg.rst](https://link.gitcode.com/i/b03efaf1019f6187d54a2ec544568dff))是 Natron 中负责"用 FFmpeg 写出视频"的

gitblog_00319的博客 616

python和机器人的关系_python与人工智能之间有什么关系?

对于python、人工智能这两个词大家是很熟悉的,而且在生活中大家很容易混淆这两个词汇,甚至觉得python就是人工智能,那么python与人工智能有什么关系呢?什么是python?python是一种计算机程序语言,在人工智能科学领域被广泛应用,各种库、各种相关联的框架都是以python作为主要语言开发出来的。python虽然是脚本语言,但是因为容易学,快速成为科学家的工具,从而积累大量的工具库、...

weixin_28823431的博客 866

如何快速赚钱 Python爬虫

如何快速赚钱 Python爬虫

qq_43678748的博客 2170

python画热力图(相关系数矩阵图)_惊艳!JASP统计软件相关系数矩阵及热力图

今天起我们新增一个案例数据,犯罪数据。这是mei国50个州关于犯罪率的一组数据,包括人口、面积、收入、文盲率、高中毕业率、霜冻天数、犯罪率共7个指标,现在我们想考察一下州犯罪率和其他因素间的关系。数据视图如下:数据取自《R语言实战》一书,在本公号后台回复关键词【犯罪数据】,即可获取数据下载链接。现在我们的研究目标是各州的犯罪率(因变量),可能的因素(自变量)是人口、面积、收入、文盲率、高中毕业率、...

weixin_39879665的博客 1918

快速幂(python实现)

前言 使用快速幂的原因,针对高次幂计算,如果使用循环遍历的方法,时间开销比较大eg:8^10000000000 而使用快速幂的方法可以在O(log(次幂))的复杂度内完成。 实现 import time start=time.time() p=1000000007 def quick_count(a,b): sum=1 while b!=0: if b&1: sum=sum*a%p b>>=1 a*=

a284365的博客 3229
上一篇: Python股票量化盘后分析系统,也就七百行代码!
下一篇: 爬虫——图书馆抢座,Python果然无所不能!
pythonlaodi
博客等级 码龄6年 286粉丝 244原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值