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

如何通过遍历每一行在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

算法(步骤)

以下是执行所需任务的算法/步骤−

  • 导入以下库:os,pandas,NumPy和seaborn

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

  • 从给定数据集中创建要创建相关矩阵的列的列表。

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

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

  • 使用seaborn库的 heatmap() 函数绘制相关矩阵(对于要绘制的每个值,热图具有表示同一颜色的多个阴影值。图表的较暗颜色通常表示比较浅色更高的值。甚至可以为不同的值使用完全不同的颜色)。

将数据集导入pandas数据帧

首先将任何样本数据集(这里我们将使用starbucksMenu.csv)导入到pandas数据帧中并打印出来。

示例1

#使用import关键字导入pandas模块作为pd
import pandas as pd
#读取数据集
givenDataset = pd.read_csv('starbucksMenu.csv')
print(givenDataset)
Bash

输出

项目名称 卡路里 脂肪 碳水化合物 纤维素 蛋白质
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

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)
Bash

输出

执行上述程序将生成以下输出 −

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

在本教程中,您学习了如何使用Python和Pandas计算相关矩阵。除此之外,您还学习了如何使用Pandas corr()方法生成相关矩阵,以及如何利用Seaborn库的heatmap函数显示矩阵,从而使您更好地可视化和理解数据。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册