如何通过遍历每一行在 Python 中创建相关矩阵?

programmingpythonserver side programming

相关矩阵是一个包含许多变量的相关系数的表。表中的每个单元格代表两个变量之间的相关性。该值可能介于 -1 和 1 之间。相关矩阵用于汇总数据、诊断高级分析以及作为更复杂研究的输入。

相关矩阵用于表示数据集中变量之间的关系。它是一种帮助程序员分析数据组件之间关系的矩阵。它表示 0 和 1 之间的相关系数。

正值表示相关性好,负值表示相关性弱/低,零值 (0) 表示给定变量集之间没有依赖关系。

回归分析和相关矩阵显示了以下观察结果 −

  • 识别数据集中独立变量之间的关系。

  • 有助于从数据集中选择重要且非冗余的变量。

  • 这仅适用于数字或连续的变量。

在本文中,我们将向您展示如何使用 python 创建相关矩阵。

假设我们已经获取了一个名为 starbucksMenu.csv 的 CSV 文件,其中包含一些随机数据。我们需要为数据集中指定的列创建一个相关矩阵并绘制相关矩阵。

输入文件数据

starbucksMenu.csv

Item Name Calories Fat Carb Fiber Protein Sodium
             
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® Bottled Berry Blossom White 0 0 0 0 0 0
Tazo® Bottled Brambleberry 130 2.5 21 0 5 65
Tazo® Bottled Giant Peach 140 2.5 23 0 5 90
Tazo® Bottled Iced Passion 130 2.5 21 0 5 65
Tazo® Bottled Plum Pomegranate 80 0 19 0 0 10
Tazo® Bottled Tazoberry 60 0 15 0 0 10
Tazo® Bottled White Cranberry 150 0 38 0 0 15

创建相关矩阵

我们将绘制数据集中三列独立连续变量的相关矩阵。

  • 碳水化合物
  • 蛋白质

算法(步骤)

以下是执行所需任务需要遵循的算法/步骤 -

  • 导入 os、pandas、NumPy 和 seaborn 库。

  • 使用 read_csv() 函数读取给定的 CSV 文件(将 CSV 文件加载为 pandas 数据框)。

  • 从给定数据集中创建必须为其创建相关矩阵的列的列表创建。

  • 使用 corr() 函数创建相关矩阵(它计算数据框中所有列的成对相关性。任何 na(null) 值都会被自动过滤掉。对于数据框中的任何非数字数据类型列,它都会被丢弃)。

  • 打印数据集指定列的相关矩阵。

  • 使用 heatmap() 函数绘制相关矩阵(对于要绘制的每个值,热图都有表示相同颜色的几种色调的值。图表的深色通常比较浅的色调表示更高的值。同样,可以使用完全不同的颜色(用于显著不同的值)来表示 seaborn 库。

将数据集导入 Pandas Dataframe

现在,我们首先将任何示例数据集(这里我们使用 starbucksMenu.csv )导入 pandas dataframe 并打印它。

示例 1

# Import pandas module as pd using the import keyword import pandas as pd # 读取数据集 givenDataset = pd.read_csv('starbucksMenu.csv') print(givenDataset)

输出

Item Name Calories Fat Carb Fiber Protein Sodium
             
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® Bottled Berry Blossom White 0 0 0 0 0 0
Tazo® Bottled Brambleberry 130 2.5 21 0 5 65
Tazo® Bottled Giant Peach 140 2.5 23 0 5 90
Tazo® Bottled Iced Passion 130 2.5 21 0 5 65
Tazo® Bottled Plum Pomegranate 80 0 19 0 0 10
Tazo® Bottled Tazoberry 60 0 15 0 0 10
Tazo® Bottled White Cranberry 150 0 38 0 0 15

导入数据集后创建相关矩阵

以下程序找出如何为给定的数据集创建相关矩阵,打印它们,并绘制相关矩阵 -

示例 2

import os # 导入 pandas 模块 import pandas as pd import numpy as np import seaborn # 读取数据集 givenDataset = pd.read_csv('starbucksMenu.csv') # 从数据集分配列列表 numericColumns = ['Carb','Protein','Sodium'] # 创建相关矩阵 correlationMatrix = givenDataset.loc[:,numericColumns].corr() # 打印相关矩阵。 print(correlationMatrix) # 显示相关矩阵 seaborn.heatmap(correlationMatrix, annot=True)

输出

执行时,上述程序将生成以下输出 -

You learned how to compute a correlation matrix using Python and Pandas in this tutorial. Along with that you have learned how to generate a correlation matrix using the Pandas corr() method and also how to utilize the Seaborn library's heatmap function to show a matrix, allowing you to better visualize and understand the data at a glance.


相关文章