Pandas数据可视化工具——Seaborn用法整理(下)

本文详细介绍了Seaborn库在Python中的数据可视化应用,包括矩阵图如Heat Maps和Cluster Maps的绘制,以及如何利用Facet Grids和Pair Grids进行多维度数据展现。此外,还探讨了回归图的制作和图像样式的调整,如设置风格、改变图大小和Context。这些工具帮助提升数据洞察力和分析效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文是基于StackAbuse的一篇讲解Seaborn的文章 上编写。 附示例及实现代码,可直接前往文末 一键克隆代码 进行实践研究。

在前一篇文章 Pandas数据可视化工具——Seaborn用法整理(上),我们了解了如何使用这些Seaborn代码绘制分布图和分类图。在本文中,我们将继续讨论Seaborn提供的一些其他以绘制不同类型统计图的功能,我们将从矩阵图开始讨论。

矩阵图

矩阵图是一种以行和列的形式显示数据的图。Heat maps是矩阵图的一个典型例子。

Heat Maps

Heat Maps通常用于以矩阵形式绘制数值列之间的相关性。这里需要提到的是,要绘制矩阵图,需要有关于行和列的有价值的信息。延续上一篇文章的主题,我们将使用财报数据10-18年的数据,看看行和列标题是否都是有意义的信息。执行以下代码:

import pandas as pd  
import numpy as np
import matplotlib.pyplot as plt  
import seaborn as sns
df = DataSource('financial_statement_CN_STOCK_A').read(start_date='2010-04-01',end_date='2018-04-02')
df.head()

在输出中,您将看到如下结果:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aTpFGYiy-1606815459022)(upload://noEpzzAu9AyJtexPQ9cTD6PrBkM.png)]

从输出中可以看到,列标头包含有用的信息,如股票代码、日期、固定资产、营业利润等。而行标头只包含索引0、1、2等。一种方法是调用数据集上的corr()方法。函数的作用是:返回数据集中所有数字列之间的相关性。执行以下代码:

df_0 = df[['date','instrument','fs_operating_profit','fs_current_assets','fs_net_profit_ttm','fs_roe','fs_gross_profit_margin','fs_free_cash_flow']]
df_0.corr()

(这里为了使结果图简洁,只选择了六个统计量。)
在输出中,您将看到各列之间的相关系数,如下所示:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yxadflsI-1606815459026)(upload://u5NI1YEq2xvETRXsrNYaINpqxz6.png)]

现在,要创建具有这些相关值的Heat Maps,需要调用heatmap()函数并将相关系数的DataFrame传递给它。请看下面的代码:

sns.heatmap(df_0.corr())

在输出中,您将看到如下结果:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4Ocsh94k-1606815459028)(upload://6bUHqviqwIhRqTMe5BLCo2itADq.png)]

从输出中可以看出,heatmap的基本功能是为行和列值的每个组合绘制一个框。图像的颜色取决于渐变。例如,在上面的图像中,如果两个特征之间有很高的相关性,对应的单元格或者方框是白偏向于色的,另一方面,如果没有相关性,对应的单元格是黑色的。

通过为传递参数annot为True,相关系数也可以绘制在heatmap上。执行下面的代码,看看这是否有效:

sns.heatmap(df_0.corr(), annot=True)  

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TCvUkcBy-1606815459031)(upload://lT8WXfeVKiSS22ILCBPMfamPknB.png)]

您还可以通过给cmap传递参数来更改heatmap的颜色。现在,看看下面的代码:

sns.heatmap(df_0.corr(), cmap='winter')  

结果如下&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值