栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python 计算两个列表的相关系数

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python 计算两个列表的相关系数

目录

1、方法①:调用第三方库实现

2、方法②:编写函数计算实现

3、测试样例结果输出


1、方法①:调用第三方库实现
from pandas import Series

def calc_corr1(a, b):
    s1 = Series(a)
    s2 = Series(b)
    return s1.corr(s2)

2、方法②:编写函数计算实现
def calc_corr2(a, b):
    a_avg = sum(a) / len(a)
    b_avg = sum(b) / len(b)
    # 计算分子,协方差————按照协方差公式,本来要除以n的,由于在相关系数中上下同时约去了n,于是可以不除以n
    cov_ab = sum([(x - a_avg) * (y - b_avg) for x, y in zip(a, b)])
    # 计算分母,方差乘积————方差本来也要除以n,在相关系数中上下同时约去了n,于是可以不除以n
    sq = (sum([(x - a_avg) ** 2 for x in a]) * sum([(x - b_avg) ** 2 for x in b])) ** 0.5
    corr_factor = cov_ab / sq
    return corr_factor

3、测试样例结果输出
if __name__ == '__main__':
    m1 = [254, 0, 1032, 633, 140, 136, 4, 3, 4266, 5639, 4354, 3093]
    m2 = [10798, 0, 3233, 1739, 300, 113, 114, 159, 975, 2257, 16376, 8581]
    print(calc_corr1(m1, m2))  # 0.40126106164889785
    print(calc_corr2(m1, m2))  # 0.40126106164889797

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/833590.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号