Ich habe einen Pandadatenrahmen mit mehreren Einträgen und möchte die Korrelation zwischen dem Einkommen einer Art von Geschäften berechnen. Es gibt eine Reihe von Geschäften mit Einkommensdaten, Klassifizierung des Tätigkeitsbereichs (Theater, Tuchläden, Lebensmittel ...) und anderen Daten.
Ich habe versucht, einen neuen Datenrahmen zu erstellen und eine Spalte mit den Einnahmen aller Arten von Geschäften einzufügen, die derselben Kategorie angehören. Im zurückgegebenen Datenrahmen ist nur die erste Spalte ausgefüllt, und der Rest ist mit NaNs gefüllt. Der Code, den ich müde:
corr = pd.DataFrame()
for at in activity:
stores.loc[stores['Activity']==at]['income']
Ich möchte dies tun, damit ich .corr()
die Korrelationsmatrix zwischen den Kategorien der Geschäfte angeben kann.
Danach möchte ich wissen, wie ich die Matrixwerte (-1 bis 1, da ich die Pearson-Korrelation verwenden möchte) mit Matplolib darstellen kann.
Antworten:
Ich schlage eine Art Spiel vor:
Verwenden der UCI Abalone-Daten für dieses Beispiel ...
Korrelationsmatrix-Darstellungsfunktion:
# Korrelationsfunktion für Matrizen
Hoffe das hilft!
quelle
import numpy as np
ist nicht nötig, oder?cbar
Warum weisen Sie es zu?Eine andere Alternative ist die Verwendung der Heatmap-Funktion in Seaborn, um die Kovarianz zu zeichnen. In diesem Beispiel wird der Auto-Datensatz aus dem ISLR-Paket in R verwendet (derselbe wie in dem von Ihnen gezeigten Beispiel).
Wenn Sie noch ausgefallener sein möchten, können Sie Pandas Style verwenden , zum Beispiel:
quelle
rpy
Modul nicht. Sie müssen das eigenständige Projekt verwendenrpy2
. Siehe die Warnung von Pandas hier .Warum nicht einfach so vorgehen:
Sie können die Farbpalette mit dem folgenden
cmap
Parameter ändern :quelle