Ich habe eine Reihe von Werten und ich bin auf der Suche nach der Pearson Korrelation mit jeder Zeile einer gegebenen Tabelle.Korrelation zwischen einer Pandas-Serie und einem ganzen Dataframe
Wie mache ich das?
Beispiel:
import pandas as pd
v = [-1, 5, 0, 0, 10, 0, -7]
v1 = [1, 0, 0, 0, 0, 0, 0]
v2 = [0, 1, 0, 0, 1, 0, 0]
v3 = [1, 1, 0, 0, 0, 0, 1]
s = pd.Series(v)
df = pd.DataFrame([v1, v2, v3], columns=['a', 'b', 'c', 'd', 'e', 'f', 'g'])
# Here I expect ot do df.corrwith(s) - but won't work
Series.corr()
Verwendung zu berechnen, die erwartete Ausgabe ist
-0.1666666666666666 # correlation with the first row
0.83914639167827343 # correlation with the second row
-0.35355339059327379 # correlation with the third row
Danke, was ein Anfängerfehler ... genau das, was ich brauchte – bluesummers
Kein Problem, wie Würden Sie das machen, wenn der Datenblock mehr Spalten hätte, die Sie ignorieren sollten? Das bedeutet, dass Sie die Korrelation nur mit den übereinstimmenden Spalten für die Indexierung berechnen möchten, während Sie die anderen ignorieren. – bluesummers
Überprüfen Sie die Bearbeitung, wenn Sie möchten, was Sie möchten. – jezrael