Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

26 строки
540 B
Python

def mod2(list1, list2):
n = min(len(list1), len(list2))
if n == 0:
return 0.0
avg1 = sum(list1[:n]) / n
avg2 = sum(list2[:n]) / n
numerator = 0
denom1 = 0
denom2 = 0
for i in range(n):
diff1 = list1[i] - avg1
diff2 = list2[i] - avg2
numerator += diff1 * diff2
denom1 += diff1 * diff1
denom2 += diff2 * diff2
if denom1 == 0 or denom2 == 0:
return 0.0
correlation = numerator / ((denom1 * denom2) ** 0.5)
return correlation