相关:数据之间有关联,相互有影响
如:A和B 存在一定的相关性,A对B存在一定程度的影响,A变化,B也会有一定的变化
如果A和B相等 或者 B可以由A经过计算得到---->完全相关
如果B是由 A和C计算得到 ---->并且 A可以计算出B的大
部分 -----> A和B 强度相关
如果B是由 A和C计算得到 ---->并且 A可以计算出B的小
部分 -----> A和B 弱度相关
如果 A和B 毫无关系 ----> 不相关
如果B和 A相关:
A的增大导致B的减小 —> 负相关
A的增大导致B的增大 —> 正相关
相关性系数:衡量相关性强弱的
其范围是[-1,1],绝对值越靠近0,表示不相关,绝对值越靠近1,表示相关性越强
小于 0 表示负相关;大于 0 表示正相关。
构造如下数据:
import pandas as pd
data = pd.DataFrame(
data={
'age': [2,7,10,16,20],
'height': [70,90,143,166,178],
'score': [98,37,103,76,53]
}
)
使用corr()方法计算相关性系数:
# 计算相关性系数的列 必须都是数值型的数据!
corr = data.loc[:, ["age","height"]].corr() # 会计算两两列之间的相关性系数
print("corr\n", corr)
"""
corr
age height
age 1.00000 0.96043
height 0.96043 1.00000
"""
自身与自身的相关性系数为 1
计算多列相关性系数:
corr = data.loc[:, ["age","height","score"]].corr()
print("corr\n", corr)
"""
corr
age height score
age 1.000000 0.960430 -0.340053
height 0.960430 1.000000 -0.096782
score -0.340053 -0.096782 1.000000
"""