Python 3.10+statisticsфункция
statistics.correlation
связь
Коэффициент корреляции Пирсона (или Спирмена) двух наборов, от −1 до 1 (Python 3.10+).
Синтаксис
statistics.correlation(x, y)
Ловится только линейная связь: y = x² на симметричном наборе даёт корреляцию около нуля при полной зависимости, а высокое значение само по себе ничего не говорит о причине. Наборы обязаны быть одной длины и не короче двух значений, а постоянная последовательность (нулевой разброс) приводит к StatisticsError. Коэффициент Спирмена включается через method='ranked' — этот параметр есть только с 3.12.
Примеры
import statistics
print(statistics.correlation([1, 2, 3], [2, 4, 6])) # → 1.0
print(statistics.correlation([1, 2, 3], [6, 4, 2])) # → -1.0
print(statistics.correlation([1, 2, 3, 4], [1, 3, 2, 4])) # → 0.8
print(statistics.correlation([1, 1, 1], [1, 2, 3])) # → StatisticsError
# Python 3.12+
import statistics
print(statistics.correlation([1, 2, 3], [10, 30, 20], method='ranked')) # → 0.5
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности