Python使用pandas读取CSV并绘制Pearson相关系数热力图

江岸
江岸
发布时间:2026-10-12| 5人浏览过
原创

本文介绍如何利用Python的pandas库读取CSV文件数据,并结合matplotlib进行基础绘图。重点演示使用seaborn库绘制Pearson相关系数热力图,详细解析data.corr()计算相关性、sns.heatmap()绘制图表及annot参数控制数值显示的方法,同时说明对空值np.nan的支持情况。

如何利用pandas读取csv数据并绘图

首先需要导入常用的numpy和pandas库,以及用于绘图的matplotlib模块。

import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
fig = plt.figure()
ax = fig.add_subplot(111)

读取csv文件的数据,保存到numpy数组内

path_csv = "E:\\python\\python\\2021\\202104\\04091\\path_data.csv"
xa = np.array([42.0, 44.4, 43.1, 40.6])
ya = np.array([21.6, 21.2, 13.5, 14.0])
xa1 = np.array([10, 40])
ya1 = np.array([10, 40])
path_data_x = pd.read_csv(path_csv, header=None, usecols=[0])
path_data_y = pd.read_csv(path_csv, header=None, usecols=[1])
path_x = np.array(path_data_x)[:, 0]
path_y = np.array(path_data_y)[:, 0]

绘制图像

print(path_x[0])
print(path_y[0])
ax.plot(xa1, ya1, color='g', linestyle='', marker='.')
ax.plot(xa, ya, color='g', linestyle='-', marker='.')
ax.plot(path_x, path_y, color='m', linestyle='', marker='.')
plt.show()

展示结果

pandas画pearson相关系数热力图

pearson相关系数计算函数

  • data.corr()

该方法支持空值:np.nan

import seaborn as sns
import numpy as np
import matplotlib.pyplot as plt
data = pd.DataFrame({"A":[np.nan,2,9], "B":[4,14,6], "c":[987,8,9]})
f, ax= plt.subplots(figsize = (14, 10))
corr = data.corr()
# print(corr)
sns.heatmap(corr,cmap='RdBu', linewidths = 0.05, ax = ax)
# 设置Axes的标题
ax.set_title('Correlation between features')
plt.show()
plt.close()
f.savefig('sns_style_origin.jpg', dpi=100, bbox_inches='tight')

其中heatmap()方法中有annot参数,默认为False,不显示每个颜色的数字,如果设置为:annot=True, 则在每个热力图上显示数字。

效果如下:

以上为个人经验,希望能给大家一个参考,也希望大家多多支持本站。

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。