Pearson correlation helps us see how two things change together. It tells if one goes up when the other goes up or down.
Pearson correlation in SciPy
from scipy.stats import pearsonr correlation_coefficient, p_value = pearsonr(x, y)
x and y are lists or arrays of numbers with the same length.
The function returns two values: the correlation number and a p-value to check significance.
from scipy.stats import pearsonr x = [1, 2, 3, 4, 5] y = [2, 4, 6, 8, 10] corr, p = pearsonr(x, y) print(corr)
from scipy.stats import pearsonr x = [1, 2, 3, 4, 5] y = [10, 8, 6, 4, 2] corr, p = pearsonr(x, y) print(corr)
from scipy.stats import pearsonr x = [1, 2, 3, 4, 5] y = [5, 5, 5, 5, 5] corr, p = pearsonr(x, y) print(corr)
This program calculates how strongly hours studied and exam scores are related. It prints the correlation number and the p-value to check if the result is meaningful.
from scipy.stats import pearsonr # Example data: hours studied and exam scores hours_studied = [1, 2, 3, 4, 5] exam_scores = [50, 55, 65, 70, 80] corr, p_value = pearsonr(hours_studied, exam_scores) print(f"Pearson correlation coefficient: {corr:.2f}") print(f"P-value: {p_value:.4f}")
The correlation value ranges from -1 to 1.
A value close to 1 means strong positive relation, close to -1 means strong negative relation, and around 0 means no relation.
The p-value helps decide if the correlation is likely real or by chance. A small p-value (like less than 0.05) means it is probably real.
Pearson correlation measures how two sets of numbers move together.
Use pearsonr from scipy.stats to get the correlation and p-value.
Values near 1 or -1 show strong relationships; near 0 means weak or no relationship.