我有一个包含大量特征的数据集,因此分析相关矩阵变得非常困难。我想绘制一个相关矩阵,我们使用 pandas 库中的 dataframe.corr()
函数获得该矩阵。 pandas 库是否提供了任何内置函数来绘制此矩阵?
最佳答案
您可以使用 pyplot.matshow()
来自 matplotlib
:
import matplotlib.pyplot as plt
plt.matshow(dataframe.corr())
plt.show()
编辑:
评论中有关于如何更改轴刻度标签的请求。这是一个在更大的图形尺寸上绘制的豪华版本,具有与数据框匹配的轴标签,以及用于解释色标的颜色条图例。
我将包括如何调整标签的大小和旋转,并且我使用了一个图形比例,使颜色条和主图形出现相同的高度。
编辑 2:
由于 df.corr() 方法忽略非数字列,在定义 x 和 y 标签时应使用 .select_dtypes(['number'])
以避免不必要的标签移位(包括在下面的代码中)。
f = plt.figure(figsize=(19, 15))
plt.matshow(df.corr(), fignum=f.number)
plt.xticks(range(df.select_dtypes(['number']).shape[1]), df.select_dtypes(['number']).columns, fontsize=14, rotation=45)
plt.yticks(range(df.select_dtypes(['number']).shape[1]), df.select_dtypes(['number']).columns, fontsize=14)
cb = plt.colorbar()
cb.ax.tick_params(labelsize=14)
plt.title('Correlation Matrix', fontsize=16);
关于python - 使用 pandas 绘制相关矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29432629/