【发布时间】:2019-12-01 11:06:51
【问题描述】:
我已经为上面的整个数据集创建了一个热图,但是现在我想为与我的目标变量最相关的 10 个点创建一个热图。我已经打印了数据和掩码的形状,它们都是 10 x 10,但是我得到了这个错误:
ValueError: Mask must have the same shape as the data.
我使用了一个来自 kaggle 的虚拟数据集作为示例。
corr = training.corr()
mask = np.zeros_like(corr, dtype=np.bool)
mask[np.triu_indices_from(mask)] = True
f, ax = plt.subplots(figsize=(12, 9))
sns.heatmap(corr, mask=mask,vmin=0.0, vmax=1.0, center=0,
square=True, linewidths=.5, cbar_kws={"shrink": .5})
我的代码的第一部分(上图)计算了整个数据集的热图,数据的上半部分带有掩码。
k = 10
cols = corr.nlargest(k, 'SalePrice')['SalePrice'].index
cm = np.corrcoef(training[cols].values.T)
sns.set(font_scale=1.25)
f, ax = plt.subplots(figsize=(12, 9))
mask2 = np.zeros_like(cm, dtype=np.bool)
mask2[np.triu_indices_from(mask2)] = True
hm = sns.heatmap(cm, vmin=0.0, vmax=1.0, mask=mask, cbar=True,
annot=True, square=True, fmt='.2f', annot_kws={'size': 10},
yticklabels=cols.values, xticklabels=cols.values)
plt.show()
这应该输出一个上半部分(重复值)被屏蔽的热图。
【问题讨论】:
-
请发布您的整个代码,我们无法在此处看到您正在使用的内容。
标签: python-3.x pandas numpy visualization seaborn