如何使用 Pandas 创建相关矩阵?

pythonpandasserver side programmingprogramming

相关分析是数据分析中的一项关键技术,有助于识别数据集中变量之间的关系。相关矩阵是一个显示数据集中变量之间相关系数的表格。它是一种强大的工具,可以提供有关数据中潜在模式的宝贵见解,并广泛应用于金融、经济、社会科学和工程等许多领域。

在本教程中,我们将探讨如何使用 Pandas(Python 中流行的数据处理库)创建相关矩阵。

要使用 pandas 生成相关矩阵,必须遵循以下步骤 -

  • 获取数据

  • 构建 pandas DataFrame

  • 使用 pandas 生成相关矩阵

示例

现在让我们研究不同的示例,以了解如何使用 pandas 创建相关矩阵。

此代码演示了如何使用 Python 中的 pandas 库从给定的数据集创建相关矩阵。 数据集包含三个变量:三个不同时间段的销售额、费用和利润。 代码使用数据创建 pandas DataFrame,然后使用 DataFrame 创建相关矩阵。

然后提取销售额与费用以及销售额与利润之间的相关系数并与相关矩阵一起显示。相关系数表示两个变量之间的相关程度,值为"1"表示完全正相关,"-1"表示完全负相关,"0"表示不相关。

考虑下面显示的代码。

# 导入 pandas 库
import pandas as pd

# 创建一个包含相关分析所用数据的字典
data = {
    'Sales': [25, 36, 12], # 三个不同时间段的销售额值
    'Expenses': [30, 25, 20], # 同一时间段的支出值
    'Profit': [15, 20, 10] # 同一时间段的利润值
}

# 使用字典创建 pandas DataFrame
sales_data = pd.DataFrame(data)

# 使用 DataFrame 创建相关矩阵
correlation_matrix = sales_data.corr()

# 显示相关矩阵
print("Correlation Matrix:")
print(correlation_matrix)

# 获取相关系数销售额和费用之间的相关系数
sales_expenses_correlation = correlation_matrix.loc['Sales', 'Expenses']

# 获取销售额和利润之间的相关系数
sales_profit_correlation = correlation_matrix.loc['Sales', 'Profit']

# 显示相关系数
print("相关系数:")
print(f"销售额和费用:{sales_expenses_correlation:.2f}")
print(f"销售额和利润:{sales_profit_correlation:.2f}")

输出

执行后,您将获得以下输出 −

相关矩阵:
              Sales   Expenses     Profit
Sales      1.000000   0.541041   0.998845
Expenses   0.541041   1.000000   0.500000
Profit     0.998845   0.500000   1.000000
相关系数:
销售额和费用:0.54
销售额和利润:1.00

对角线上的值表示变量与其自身之间的相关性,因此对角线上的值表示相关性为 1。

示例

让我们再探索一个例子。考虑下面显示的代码。

在此示例中,我们创建一个具有三列和三行的简单 DataFrame。然后,我们在 DataFrame 上使用 .corr() 方法计算相关矩阵,最后将相关矩阵打印到控制台。

# 导入 pandas 库
import pandas as pd

# 创建示例数据框
data = {
   'A': [1, 2, 3],
   'B': [4, 5, 6],
   'C': [7, 8, 9]
}
df = pd.DataFrame(data)

# 创建相关矩阵
corr_matrix = df.corr()

# 显示相关矩阵
print(corr_matrix)

输出

执行后,您将获得以下输出 −

     A    B    C
A  1.0  1.0  1.0
B  1.0  1.0  1.0
C  1.0  1.0  1.0 

结论

总之,使用 Python 中的 pandas 创建相关矩阵是一个简单的过程。首先,使用所需数据创建一个 pandas DataFrame,然后使用 .corr() 方法计算相关矩阵。生成的相关矩阵提供了对不同变量之间关系的宝贵见解,对角线值表示每个变量与自身的相关性。

相关系数的范围从 -1 到 1,其中接近 -1 或 1 的值表示相关性更强,而接近 0 的值表示相关性较弱或没有相关性。相关矩阵在数据分析、金融和机器学习等广泛应用中很有用。


相关文章