如何通过遍历每一行在Python中创建相关矩阵?
相关矩阵是包含许多变量的相关系数的表格。表格中的每个单元格表示两个变量之间的相关性。计算出的值的范围可能在-1到1之间。相关矩阵用于对数据进行汇总,诊断高级分析以及作为更复杂研究的输入。
相关矩阵用于表示数据集中变量之间的关系。它是一种矩阵类型,可帮助程序员分析数据组件之间的关系。它表示0到1之间的相关系数。
正值表示良好的相关性,负值显示弱/低相关性,0的值表示给定变量集之间没有相关性依赖。
回归分析和相关矩阵显示了以下观察结果:
-
识别数据集中独立变量之间的关系。
-
有助于从数据集中选择显著且不冗余的变量。
-
这仅适用于数字或连续变量。
在本文中,我们将展示如何使用Python创建相关矩阵。
假设我们使用名称为 starbucksMenu.csv 的CSV文件包含一些随机数据。我们需要为数据集中指定的列创建一个相关矩阵并绘制相关矩阵。
输入文件数据
starbucksMenu.csv
项目名称 | 卡路里 | 脂肪 | 碳水化合物 | 纤维 | 蛋白质 | 钠 | |||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Cool Lime Starbucks Refreshers™ | 45 | 0 | 11 | 0 | 0 | 10 | |||||||
Evolution Fresh™ Organic Ginger Limeade | 80 | 0 | 18 | 1 | 0 | 10 | |||||||
冰咖啡 | 60 | 0 | 14 | 1 | 0 | 10 | |||||||
Tazo®瓶装白茶花蜜 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||
Tazo®瓶装黑莓果蔓 | 130 | 2.5 | 21 | 0 | 5 | 65 | Tazo®瓶装巨型桃子 | 140 | 2.5 | 23 | 0 | 5 | 90 |
Tazo®瓶装冰镇激情果茶 | 130 | 2.5 | 21 | 0 | 5 | 65 | |||||||
Tazo®瓶装李子石榴 | 80 | 0 | 19 | 0 | 0 | 10 | |||||||
Tazo®瓶装塔佐莓 | 60 | 0 | 15 | 0 | 0 | 10 | |||||||
Tazo®瓶装白蔓越莓 | 150 | 0 | 38 | 0 | 0 | 15 |
创建相关矩阵
我们将为数据集的三列绘制相关矩阵,其为独立连续变量。
- Carb
- Protein
- Sodium
算法(步骤)
以下是执行所需任务的算法/步骤−
-
使用 read_csv() 函数读取给定的CSV文件(将CSV文件加载为pandas数据帧)。
-
从给定数据集中创建要创建相关矩阵的列的列表。
-
使用 corr() 函数创建相关矩阵(它计算数据框中所有列的成对相关性,任何 na(null) 值都会自动过滤掉。对于数据框中的任何非数字数据类型列将被丢弃)。
-
打印数据集中指定列的相关矩阵。
-
使用seaborn库的 heatmap() 函数绘制相关矩阵(对于要绘制的每个值,热图具有表示同一颜色的多个阴影值。图表的较暗颜色通常表示比较浅色更高的值。甚至可以为不同的值使用完全不同的颜色)。
将数据集导入pandas数据帧
首先将任何样本数据集(这里我们将使用starbucksMenu.csv)导入到pandas数据帧中并打印出来。
示例1
输出
项目名称 | 卡路里 | 脂肪 | 碳水化合物 | 纤维素 | 蛋白质 | 钠 |
---|---|---|---|---|---|---|
Cool Lime Starbucks Refreshers™ | 45 | 0 | 11 | 0 | 0 | 10 |
Evolution Fresh™ Organic Ginger Limeade | 80 | 0 | 18 | 1 | 0 | 10 |
冰咖啡(Iced Coffee) | 60 | 0 | 14 | 1 | 0 | 10 |
Tazo®瓶装莓花白茶(Tazo® Bottled Berry Blossom White) | 0 | 0 | 0 | 0 | 0 | 0 |
Tazo®瓶装黑莓茶(Tazo® Bottled Brambleberry) | 130 | 2.5 | 21 | 0 | 5 | 65 |
Tazo®瓶装巨型桃(Tazo® Bottled Giant Peach) | 140 | 2.5 | 23 | 0 | 5 | 90 |
Tazo®瓶装冰镇激情(Tazo® Bottled Iced Passion) | 130 | 2.5 | 21 | 0 | 5 | 65 |
Tazo®瓶装梅石榴(Tazo® Bottled Plum Pomegranate) | 80 | 0 | 19 | 0 | 0 | 10 |
Tazo®瓶装百加得(Tazo® Bottled Tazoberry) | 60 | 0 | 15 | 0 | 0 | 10 |
Tazo®瓶装白蔓越莓(Tazo® Bottled White Cranberry) | 150 | 0 | 38 | 0 | 0 | 15 |
导入数据集后创建相关矩阵
下面的程序找出如何为给定的数据集创建一个相关矩阵,打印它们,并绘制相关矩阵 −
示例2
输出
执行上述程序将生成以下输出 −
在本教程中,您学习了如何使用Python和Pandas计算相关矩阵。除此之外,您还学习了如何使用Pandas corr()方法生成相关矩阵,以及如何利用Seaborn库的heatmap函数显示矩阵,从而使您更好地可视化和理解数据。