форкнуто от main/python-labs
Вы не можете выбрать более 25 тем
Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
18 строки
433 B
Python
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
|
|
|
|
|