关键词:
【中文标题】在 Seaborn 中将相关矩阵绘制为热图时,是不是可以删除重复的列/行?【英文标题】:Is it possible to remove repeated columns/rows when plotting correlation matrix as heatmap in Seaborn?在 Seaborn 中将相关矩阵绘制为热图时,是否可以删除重复的列/行? 【发布时间】:2020-02-19 10:11:40 【问题描述】:给定下一个数据帧
my_df.head()
cruce1 cruce2 cruce3 cruce4 cruce5 cruce6 cruce7 cruce8 cruce9 cruce10 ... factor75 factor80 factor85 factor90 factor95 factor100 factor105 factor110 factor115 factor120
Date
1993-10-28 0.0049 NaN NaN NaN NaN NaN NaN NaN NaN NaN ... 161.75 172.45 196.86 200.33 219.21 222.67 243.23 235.77 249.48 231.56
1993-10-29 0.0002 0.0051 NaN NaN NaN NaN NaN NaN NaN NaN ... 169.13 172.64 211.90 205.58 218.63 223.16 250.21 245.71 256.47 245.63
1993-11-01 0.0041 0.0043 0.0092 NaN NaN NaN NaN NaN NaN NaN ... 165.37 170.35 215.84 198.81 216.43 222.32 246.18 247.09 253.57 254.07
1993-11-02 -0.0019 0.0022 0.0024 0.0073 NaN NaN NaN NaN NaN NaN ... 175.01 180.37 219.77 210.89 210.06 236.31 249.19 260.01 252.05 259.16
1993-11-03 0.0023 0.0004 0.0045 0.0047 0.0096 NaN NaN NaN NaN NaN ... 183.84 177.68 210.58 207.35 207.67 228.06 235.10 254.71 251.55 258.43
使用此列:
my_df.head()
Index(['cruce1', 'cruce2', 'cruce3', 'cruce4', 'cruce5', 'cruce6', 'cruce7',
'cruce8', 'cruce9', 'cruce10', 'cruce11', 'cruce12', 'cruce13',
'cruce14', 'cruce15', 'cruce16', 'cruce17', 'cruce18', 'cruce19',
'cruce20', 'factor1', 'factor5', 'factor10', 'factor15', 'factor20',
'factor25', 'factor30', 'factor35', 'factor40', 'factor45', 'factor50',
'factor55', 'factor60', 'factor65', 'factor70', 'factor75', 'factor80',
'factor85', 'factor90', 'factor95', 'factor100', 'factor105',
'factor110', 'factor115', 'factor120'],
dtype='object')
我制作了相关矩阵的热图
corr = my_df.diff().corr()
mask = np.zeros_like(corr)
mask[np.triu_indices_from(mask)] = True
sns.heatmap(corr, mask=mask, linewidths=0.1, vmax=1.0,
square=False, cmap=colormap, linecolor='white')
下一个结果:
热图 1:
但我只想保留热图中的不同列:
热图 2:
有可能吗?而且,如果是的话,是否可以通过使生成的正方形填充空白空间来完成?
【问题讨论】:
【参考方案1】:我解决了。
我不得不改变
corr = my_df.diff().corr()
收件人:
corr = df.diff().corr().filter(regex = 'cruce', axis=1).filter(regex = 'factor', axis=0)
线
filter(regex = 'cruce', axis=1)
用于从轴 1(逐行)中删除所有包含 'cruce' 的列,而行
filter(regex = 'factor', axis=0)
从轴 0 中删除所有包含“因子”的列(按列)。
更多内容在pandas doc
然后,移除掩码设置:
sns.heatmap(corr, linewidths=0.1, vmax=1.0, square=False, cmap=colormap, linecolor='white')
我们得到下一个结果: Solution
【讨论】:
您可以通过为以下部分.filter(regex = 'cruce', axis=1).filter(regex = 'factor', axis=0)
提供解释或至少提供文档链接来大大改进您的答案。
完成。现在,有了更好的解释。如何为 seaborn 的热图或相关矩阵设置动画?
】如何为seaborn的热图或相关矩阵设置动画?【英文标题】:Howtoanimateaseaborn\'sheatmaporcorrelationmatrix?【发布时间】:2016-02-1723:48:37【问题描述】:我对python比较陌生(来自Matlab)。作为一个项目,我试图随着时间的推移创建相关矩... 查看详情
Seaborn 热图相关性不适合注释数字
】Seaborn热图相关性不适合注释数字【英文标题】:SeabornHeatmapcorrelationwon\'tfitannotationdigits【发布时间】:2021-12-2301:54:37【问题描述】:我正在尝试使用seaborn热图绘制三角相关矩阵,但单元格不适合注释数字。知道如何让它们很... 查看详情
重叠 yticklabels:是不是可以控制 seaborn 中热图的单元格大小?
】重叠yticklabels:是不是可以控制seaborn中热图的单元格大小?【英文标题】:Overlappingyticklabels:Isitpossibletocontrolcellsizeofheatmapinseaborn?重叠yticklabels:是否可以控制seaborn中热图的单元格大小?【发布时间】:2016-05-0918:00:00【问题描... 查看详情
在 seaborn 中自定义相关热图
】在seaborn中自定义相关热图【英文标题】:customisecorrelationheatmapinseaborn【发布时间】:2020-05-1510:00:57【问题描述】:我是python新手,我正在尝试在seaborn上制作相关热图。谁能告诉我如何使用我自己的相关截止值自定义热图右侧... 查看详情
使用seaborn在python中绘制3列的热图
】使用seaborn在python中绘制3列的热图【英文标题】:Plottingheatmapfor3columnsinpythonwithseaborn【发布时间】:2017-11-1219:06:00【问题描述】:v1v2yy15.2544.34100.0083.0559.78100.0096.6165.09100.00100.0075.47100.00100.0050.00100.00100.0068.87100.00100.00 查看详情
seaborn 热图显示轴标签,但当 df.corr 为 NaN 时没有值
】seaborn热图显示轴标签,但当df.corr为NaN时没有值【英文标题】:seabornheatmapdisplaysaxislabels,butnovalueswhendf.corrisNaN【发布时间】:2021-12-2006:27:41【问题描述】:我正在尝试为相关性提供热图,但我意识到有些是错误的。下面是我的... 查看详情
带有日期时间轴的 Seaborn 热图
】带有日期时间轴的Seaborn热图【英文标题】:SeabornHeatmapwithDatetimeAxes【发布时间】:2018-08-1000:46:18【问题描述】:我创建一个热图,其中x轴为年份,y轴为月份。在热图中将是%返回。这就是我所追求的。所以我有一些数据,我... 查看详情
Seaborn 热图未显示从字符串转换为数字的列
】Seaborn热图未显示从字符串转换为数字的列【英文标题】:Seabornheatmapnotshowingcolumnsconvertedfromstringtonumerical【发布时间】:2018-12-1408:12:26【问题描述】:我有一个12列的pandas数据框。使用seaborn的热图绘制时,仅显示9列。其中三个... 查看详情
如何在seaborn中将多个图形绘制为数据框的子图和多列?
】如何在seaborn中将多个图形绘制为数据框的子图和多列?【英文标题】:Howtoplotmultiplefiguresassubplotsandmultiplescolumnsofadataframeinseaborn?【发布时间】:2021-03-0917:09:54【问题描述】:我一直试图在子图中绘制我的数据框的所有列,但... 查看详情
根据 Seaborn 中的散点图绘制热图
】根据Seaborn中的散点图绘制热图【英文标题】:PlottingaheatmapbasedonascatterplotinSeaborn【发布时间】:2022-01-2118:02:50【问题描述】:有什么方法可以根据散点图在seaborn中绘制热图?例如,我有以下散点图,并希望以这样的方式绘制... 查看详情
如何理解 Seaborn 的热图标注格式?
】如何理解Seaborn的热图标注格式?【英文标题】:howtounderstandSeaborn\'sheatmapannotationformat?【发布时间】:2019-06-2715:10:00【问题描述】:我正在寻找一种方法,通过指定fmt关键字,在seaboarn的热图中将“0.0045”显示为“0.45%”:sns.he... 查看详情
保存为 pdf 时删除 seaborn 热图中的单元格分隔线
】保存为pdf时删除seaborn热图中的单元格分隔线【英文标题】:Removelinesseparatingcellsinseabornheatmapwhensavedaspdf【发布时间】:2015-01-1808:54:09【问题描述】:我想删除在保存的pdf中分隔单元格的行。我尝试设置linewidth=0.0,但线条仍然... 查看详情
使用 python seaborn 仅在某些值之间设置热图相关性
】使用pythonseaborn仅在某些值之间设置热图相关性【英文标题】:UsepythonseaborntosetHeatmapcorrelationsONLYbetweencertainvalues【发布时间】:2021-04-2317:31:34【问题描述】:我有一些塑料挤出机的数据,我正在寻找其中的模式。我可以使用this... 查看详情
Seaborn 热图未显示所有 xticks 和 yticks
】Seaborn热图未显示所有xticks和yticks【英文标题】:Seabornheatmapnotdisplayingallxticksandyticks【发布时间】:2018-11-1803:36:50【问题描述】:我有一个形状为(39,67)的熊猫数据框。当我绘制seaborn热图时,我在X轴和Y轴上没有得到那么多标签... 查看详情
Seaborn 热图阴谋失败
】Seaborn热图阴谋失败【英文标题】:Seabornheatmaptoplotlyfailed【发布时间】:2018-02-0717:42:41【问题描述】:将seaborn.heatmap图形转换为plotly时,我遇到了plotly错误。我正在使用以下代码在jupyter笔记本中执行此操作:%matplotlibinlineimportn... 查看详情
创建 seaborn 热图时“无法将字符串转换为浮点数”ValueError
】创建seaborn热图时“无法将字符串转换为浮点数”ValueError【英文标题】:Whencreatingaseabornheatmap\'couldnotconvertstringtofloat\'ValueError【发布时间】:2021-12-2207:47:53【问题描述】:大家好,我有以下数据框,我想使用以下代码从中创建... 查看详情
如何修复 matplotlib 和 seaborn 热图?
】如何修复matplotlib和seaborn热图?【英文标题】:Howtofixmatplotlibandseabornheatmapplot?【发布时间】:2017-09-2903:45:11【问题描述】:我使用Seaborn和Matplotlib绘制了一张热图。在Matplotlib中,刻度的名称是可以的,但我不喜欢出现的白线。... 查看详情
如何反转seaborn热图颜色条的颜色
】如何反转seaborn热图颜色条的颜色【英文标题】:Howtoinvertcolorofseabornheatmapcolorbar【发布时间】:2018-05-0718:34:48【问题描述】:我使用热图来可视化混淆矩阵。我喜欢标准颜色,但我希望浅橙色为0,深紫色为最高值。我设法只使... 查看详情