Jak obliczyć korelację między dwiema kolumnami w pandach
Możesz użyć następującej składni, aby obliczyć korelację między dwiema kolumnami w ramce DataFrame pandy:
df[' column1 ']. corr (df[' column2 '])
Poniższe przykłady pokazują, jak używać tej składni w praktyce.
Przykład 1: Oblicz korelację między dwiema kolumnami
Poniższy kod pokazuje, jak obliczyć korelację między kolumnami w ramce DataFrame pandy:
import pandas as pd #createDataFrame df = pd. DataFrame ({' points ': [25, 12, 15, 14, 19, 23, 25, 29], ' assists ': [5, 7, 7, 9, 12, 9, 9, 4], ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]}) #view first five rows of DataFrame df. head () points assists rebounds 0 25 5 11 1 12 7 8 2 15 7 10 3 14 9 6 4 19 12 6 #calculate correlation between points and assists df[' points ']. corr (df[' assists ']) -0.359384
Współczynnik korelacji wynosi -0,359 . Ponieważ ta korelacja jest ujemna, oznacza to, że punkty i asysty są ujemnie skorelowane.
Innymi słowy, wraz ze wzrostem wartości w kolumnie punktów wartości w kolumnie asyst mają tendencję do zmniejszania się.
Przykład 2: Oblicz istotność korelacji
Aby określić, czy współczynnik korelacji jest istotny statystycznie, czy nie, możesz użyć funkcji pearsonr(x, y) z biblioteki SciPy .
Poniższy kod pokazuje, jak w praktyce wykorzystać tę funkcję:
import pandas as pd from scipy. stats import pearsonr #createDataFrame df = pd. DataFrame ({' points ': [25, 12, 15, 14, 19, 23, 25, 29], ' assists ': [5, 7, 7, 9, 12, 9, 9, 4], ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]}) #calculate p-value of correlation coefficient between points and assists pearsonr(df[' points '], df[' assists ']) (-0.359384, 0.38192)
Pierwsza wartość wyniku wyświetla współczynnik korelacji (-0,359384), a druga wartość wyświetla wartość p (0,38192) związaną z tym współczynnikiem korelacji.
Ponieważ wartość p jest nie mniejsza niż α = 0,05, można stwierdzić, że korelacja pomiędzy punktami i asystami nie jest istotna statystycznie.
Dodatkowe zasoby
Jak obliczyć korelację rangi Spearmana w Pythonie
Jak obliczyć częściową korelację w Pythonie
Jak obliczyć korelację krzyżową w Pythonie