форкнуто от main/python-labs
Вы не можете выбрать более 25 тем
Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
17 строки
547 B
Python
17 строки
547 B
Python
import math
|
|
def correlation(l1, l2):
|
|
min_lenght = min(len(l1), len(l2))
|
|
sum1 = sum(l1[:min_lenght])
|
|
sum2 = sum(l2[:min_lenght])
|
|
sum1sq = sum(num ** 2 for num in l1)
|
|
sum2sq = sum(num ** 2 for num in l2)
|
|
sum12 = sum(x * y for x, y in zip(l1, l2))
|
|
|
|
part1 = min_lenght * sum12 - sum1 * sum2
|
|
part2 = math.sqrt((min_lenght * sum1sq - sum1 ** 2) * (min_lenght * sum2sq - sum2 ** 2))
|
|
if part2 == 0:
|
|
print("Деление на ноль")
|
|
return
|
|
else:
|
|
corr = part1 / part2
|
|
return corr |