📅  最后修改于: 2023-12-03 15:14:24.303000             🧑  作者: Mango
相信我们都熟悉数据中的相关性,即两个或多个变量之间的关系程度。相关性矩阵是衡量这些变量之间关系的一种方法。在 Python 中,我们可以使用 NumPy 或 Pandas 库来计算相关性矩阵。
在 NumPy 中,我们可以使用 np.corrcoef()
函数来计算相关性矩阵。这个函数接受的参数是一个数组,其中每一行表示一个变量,每一列表示一个观测值。
import numpy as np
# 生成一个随机的 3x5 数组
x = np.random.rand(3, 5)
# 计算相关性矩阵
corr_matrix = np.corrcoef(x)
# 打印相关性矩阵
print(corr_matrix)
输出:
[[ 1. 0.08703886 0.85200063]
[ 0.08703886 1. -0.03073912]
[ 0.85200063 -0.03073912 1. ]]
在 Pandas 中,我们可以使用 DataFrame.corr()
方法来计算相关性矩阵。这个方法可以计算两两变量之间的相关性,也可以计算所有变量之间的相关性。
import pandas as pd
# 生成一个随机的 DataFrame
df = pd.DataFrame(np.random.rand(3, 5), columns=['a', 'b', 'c', 'd', 'e'])
# 计算所有变量之间的相关性矩阵
corr_matrix = df.corr()
# 打印相关性矩阵
print(corr_matrix)
输出:
a b c d e
a 1.000000 0.011190 -0.374454 -0.659358 -0.303808
b 0.011190 1.000000 -0.918116 -0.247037 0.286028
c -0.374454 -0.918116 1.000000 0.141280 -0.754050
d -0.659358 -0.247037 0.141280 1.000000 0.415828
e -0.303808 0.286028 -0.754050 0.415828 1.000000
我们可以很明显地看到,变量 b 和 c 之间存在较强的负相关,变量 c 和 e 之间存在较强的负相关,变量 a 和 d 之间存在较强的负相关。