2017-01-31 20 views
3

Ich möchte die Korrelation zwischen zwei verschiedenen Spalten aus dem gleichen Datenrahmen berechnen. Dies ist der Code, den ich verwenden:Wie berechnet man den Korrelationskoeffizienten zwischen zwei Spalten eines Datenrahmens?

Correlation_unemp_demvote=np.corrcoef(New_table['unemp'],   
New_table['demVote']) 

Correlation_unemp_demvote 

Das Ergebnis wie folgt:

array([[ 1.  , 0.34167764], 
    [ 0.34167764, 1.  ]]) 

ich tatsächlich einen Wert zwischen -1 und 1, wie die realen Korrelationskoeffizient Definition erklärt zu bekommen erwarten. Können Sie mir das Ergebnis erklären, das ich gerade bekommen habe? Ich habe auch viele Funktionen gesehen, die auf Korrelationen verweisen, wie corr() oder correlate(). Welcher sollte besser benutzt werden?

Danke,

Antwort

5

pd.Series.corr ist das, was Sie wollen. Statt

Correlation_unemp_demvote = New_table['unemp'].corr(New_table['demVote']) 

Beispiel
dies tun

df = pd.DataFrame(np.random.rand(10, 2), columns=list('AB')) 

df.A.corr(df.B) 

-0.1814956009745472 
Verwandte Themen