Python 如何通过遍历每行创建相关矩阵

Python 如何通过遍历每行创建相关矩阵

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

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

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

回归分析和相关矩阵表明以下观察结果−

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

  • 帮助从数据集中选择显著且非冗余的变量。

  • 只适用于数值或连续变量。

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

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

输入文件数据

starbucksMenu.csv

项目名称 卡路里 脂肪 碳水化合物 纤维素 蛋白质
凉爽的青柠猫山王果星巴克饮料™ 45 0 11 0 0 10
急速生活™有机姜青柠果汁 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®瓶装Tazoberry 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 module as pd using the import keyword
import pandas as pd
# Reading a dataset
givenDataset = pd.read_csv('starbucksMenu.csv')
print(givenDataset)

输出

项目名称 卡路里 脂肪 碳水化合物 纤维 蛋白质
凉爽青柠星冰乐(星巴克®) 45 0 11 0 0 10
有机姜青柠柠檬水(新地®) 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®瓶装Tazoberry 60 0 15 0 0 10
Tazo®瓶装白蔓越莓 150 0 38 0 0 15

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

以下程序用于创建给定数据集的相关矩阵,打印它们,并绘制相关矩阵−

示例2

import os
# Importing pandas module
import pandas as pd
import numpy as np
import seaborn 
# Reading a dataset
givenDataset = pd.read_csv('starbucksMenu.csv')
# Assigning the list of columns from the dataset 
numericColumns = ['Carb','Protein','Sodium']

# Creating a correlation matrix 
correlationMatrix  = givenDataset.loc[:,numericColumns].corr()
# Printing the correlation matrix.
print(correlationMatrix)
# Displaying the correlation matrix
seaborn.heatmap(correlationMatrix, annot=True)

输出

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

Python 如何通过遍历每行创建相关矩阵

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

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程