Python 为什么';t相关矩阵图的热图显示最后一行和最后一列

Python 为什么';t相关矩阵图的热图显示最后一行和最后一列,python,pandas,matplotlib,seaborn,Python,Pandas,Matplotlib,Seaborn,我想画一个相关矩阵。但由于某些原因,它不会绘制最后一行和最后一列。我真的不知道这里发生了什么。有趣的是,matplotlib和seaborn都出现了这个问题。代码、热图和关联矩阵(“关联”)如下所示。有人能帮我找到问题吗 df = df_[cols] correlations = df.corr(method='spearman') fig = plt.figure(1) ax = fig.add_subplot(111) ax.matshow(correlations, vmin=-1, vm

我想画一个相关矩阵。但由于某些原因,它不会绘制最后一行和最后一列。我真的不知道这里发生了什么。有趣的是,matplotlib和seaborn都出现了这个问题。代码、热图和关联矩阵(“关联”)如下所示。有人能帮我找到问题吗

df = df_[cols]
correlations = df.corr(method='spearman')
fig = plt.figure(1)
ax = fig.add_subplot(111)
ax.matshow(correlations, vmin=-1, vmax=1)
ticks = np.arange(0, len(cols), 1)
ax.set_xticks(ticks)
ax.set_yticks(ticks)
ax.set_xticklabels(cols)
ax.set_yticklabels(cols)
plt.setp(ax.get_xticklabels(), rotation=90, horizontalalignment='right')
fig.tight_layout()
#sb.heatmap(correlations, xticklabels=cols, yticklabels=cols, vmin=-1, vmax=1)
plt.savefig(folder_ranges+'rankcorr.png')


L2\u隐藏列即使给出了type=float,它似乎不是一个数值,df.corr()从相关矩阵中删除了该数值。我使用“df['L2\u hidden']=df['L2\u hidden']”将列转换为数字。转换对象(convert\u numeric=True)现在可以工作了。

第二幅图像只有7列。可能有一些
NaN
。在你的第二张图片中,
L2\u隐藏在哪里。哇,真奇怪,df.corr()似乎完全删除了此列,尽管列中没有NAN。我不知道这是怎么回事,明白了!L2_隐藏列event虽然给出了type=float,但它似乎不是数值。我使用“df['L2\u hidden']=df['L2\u hidden'].convert\u objects(convert\u numeric=True)”将列转换为数字,现在它可以工作了。谢谢你的帮助@Sheldorelike@高炉