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

18 строки
433 B
Python

import math
def correlation(list1, list2):
n = min(len(list1), len(list2))
if n < 2:
return None
x, y = list1[:n], list2[:n]
mean_x, mean_y = sum(x)/n, sum(y)/n
num = sum((x[i]-mean_x)*(y[i]-mean_y) for i in range(n))
den = math.sqrt(sum((x[i]-mean_x)**2 for i in range(n)) *
sum((y[i]-mean_y)**2 for i in range(n)))
return num/den if den != 0 else None