python - 使用 pandas 绘制相关矩阵

标签 python pandas matplotlib data-visualization information-visualization

我有一个包含大量特征的数据集,因此分析相关矩阵变得非常困难。我想绘制一个相关矩阵,我们使用 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);

correlation plot example

关于python - 使用 pandas 绘制相关矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29432629/

相关文章:

python - 设置样式表后如何恢复 matplotlib 默认值

python - sqlalchemy.exc.ProgrammingError : (psycopg2. ProgrammingError) 无法适配类型 'property'

python - 惰性评估是如何实现的(例如在 ORM 中)

python - 类型错误 : read_hdf() takes exactly 2 arguments (1 given)

python - 如何合并 pandas 中交叉表的类别?

python - 与 Matplotlib 图中的曲线交互

python - 在 python 子图中更改字体大小

python - 为什么 python 的 matlab.engine 这么慢?

python - 访问所有函数参数

python - 在 Bokeh 中创建选择列表时出错