今天是写博客的第一天,主要是记录和回顾一下所学的知识。计算数据之间的相关性。

文章介绍了如何使用Python的pandas库读取CSV数据集并计算数据框中各特征与SOH的相关性。通过corr()方法获取相关系数矩阵,然后利用seaborn的heatmap函数可视化这些关系,以理解不同属性间的关联程度。
摘要由CSDN通过智能技术生成

首先先倒入一个pandas包,用于读取数据集,并转化为一个dataframe类型的对象,其中datafram对象是最常用的pandas数据格式,类似于excel表格或sql表。它由行和列组成,并且每个列可以具有不同的数据类型。

import pandas as pd

df = pd.read_csv('B005放电数据集.csv')
print(df)

数据显示如下:

 假如我们以SOH为标签属性,需要计算SOH与其他特征的相关性,我们可以使用 pandas 中dataframe的 corr() 方法计算已加载到数据框中的相关系数矩阵,并将结果存储在名为 corr_matrix 的新数据框中。这里计算的是每一个属性与其他属性的相关性。并保存在corr_matrix对象中。代码如下:

corr_matrix = df.corr()

corr_matrix 的样式如下:

 我们可以单独把SOH列与其他特征的的相关性输出出来,代码如下:

print(corr_matrix['SOH'])

输入结果如下:

如果我想要更加形象的观看不同属性的相关性,我们可以把corr_matrix画出来。

import seaborn as sns
import matplotlib.pyplot as plt


sns.set(font_scale=1.0)
sns.heatmap(corr_matrix, cmap="Blues", annot=True, xticklabels=corr_matrix.columns, yticklabels=corr_matrix.columns)
plt.show()

结果显示如下:

 

需要注意的是,由于数据集并不是一一对应的数据集,例如一个Cycle可能对应若干个Time,使用这个热力图可能不是很好的展现其相关性这里只是以这个数据集举例。

在这里:sns.set(font_scale=1.0):设置字体大小为1

sns.heatmap()用来画热力图,有以下参数:

  • corr_matrix是一个二维数组或dataframe,表示待展示数据的相关系数矩阵。
  • cmap参数指定了颜色地图的名称,这里使用了内置的"blues",当然我们也可以使用“red”。
  • annot参数指定是否在每个单元格中显示其值。
  • xticklabelsyticklabels参数分别指定横纵坐标的刻度标签。

plt.show():展示热力图。

以上的方法可以计算一个数据集的所有属性之间的相关性,当然数据集最好是一一对应的数据集。

如果有路过的同行看到我的博客,欢迎你批评指正!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值