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和Pandas计算相关矩阵。除此之外,还学会了如何使用Pandas corr()方法生成相关矩阵,以及如何利用Seaborn库的heatmap函数显示矩阵,让您能够更好地直观和理解数据。