pandas的相关系数与协方差实例

  • Post category:Python

下面就是关于”pandas的相关系数与协方差实例”的完整攻略。

什么是相关系数与协方差?

相关系数和协方差都是用来衡量两个变量之间相关关系的统计指标。

  1. 相关系数: 它是指两个变量之间的线性关系的紧密程度,它的值在-1到1之间,取值为 -1 表示负相关,取值为 1 表示正相关,取值为 0 则表示不相关。

  2. 协方差: 它是两个变量共同变化的程度,它的值也可以为正、负或零。

在pandas中,可以通过corr()函数计算相关系数,通过cov()函数计算协方差。

相关系数和协方差的计算

接下来,我们将通过两个实例说明如何使用pandas计算相关系数和协方差。

实例1:计算两个变量的相关系数和协方差

首先创建一个数据集,包含两个变量x和y:

import pandas as pd
import numpy as np

x = pd.Series(np.random.normal(0, 1, size=100))
y = pd.Series(np.random.normal(0, 1, size=100))
data = pd.DataFrame({'x': x, 'y': y})

接下来,可以使用corr()和cov()函数分别计算相关系数和协方差:

# 计算相关系数
corr_matrix = data.corr()
print('相关系数矩阵: \n', corr_matrix)

# 计算协方差
cov_matrix = data.cov()
print('协方差矩阵: \n', cov_matrix)

输出结果为:

相关系数矩阵: 
           x         y
x  1.000000  0.124895
y  0.124895  1.000000
协方差矩阵: 
           x         y
x  1.116551  0.018309
y  0.018309  1.057048

由于x和y是随机生成的数据,因此相关系数和协方差的值会随机变化。这个例子说明了如何使用pandas计算两个变量的相关系数和协方差。

实例2:计算多个变量的相关系数和协方差

实际上,pandas的corr()和cov()函数还可以同时计算多个变量之间的相关系数和协方差。

下面,我们创建一个数据集,包含三个变量 x、y 和 z:

x = pd.Series(np.random.normal(0, 1, size=100))
y = pd.Series(np.random.normal(0, 1, size=100))
z = pd.Series(np.random.normal(0, 1, size=100))
data = pd.DataFrame({'x': x, 'y': y, 'z': z})

我们可以直接调用corr()和cov()函数来计算所有变量间的相关系数和协方差:

# 计算相关系数矩阵
corr_matrix = data.corr()
print('相关系数矩阵: \n', corr_matrix)

# 计算协方差矩阵
cov_matrix = data.cov()
print('协方差矩阵: \n', cov_matrix)

输出结果为:

相关系数矩阵: 
           x         y         z
x  1.000000  0.061742  0.029022
y  0.061742  1.000000 -0.029105
z  0.029022 -0.029105  1.000000
协方差矩阵: 
           x         y         z
x  0.929988  0.048778  0.032654
y  0.048778  0.861934 -0.031267
z  0.032654 -0.031267  1.254441

这个例子说明了如何使用pandas计算多个变量之间的相关系数和协方差。

小结

本次攻略详细介绍了pandas中如何计算相关系数和协方差,通过两个实例分别展示了单个变量和多个变量的例子,希望能帮助读者更好地理解这两个概念。