Pandas Korrelationsmatrix
-
Erzeugen einer Korrelationsmatrix mit der Methode
DataFrame.corr()
-
Visualisierung der Pandas-Korrelationsmatrix mit der Methode
Matplotlib.pyplot.matshow()
-
Visualisierung der Pandas-Korrelationsmatrix mit der Methode
seaborn.heatmap()
-
Visualisierung der Korrelationsmatrix unter Verwendung der Eigenschaft
DataFrame.style
In diesem Tutorial wird erklärt, wie wir eine Korrelationsmatrix mit der Methode DataFrame.corr()
erzeugen und die Korrelationsmatrix mit der Methode pyplot.matshow()
aus dem Modul Matplotlib visualisieren können.
import pandas as pd
employees_df = pd.DataFrame(
{
"Name": ["Jonathan", "Will", "Michael", "Liva", "Sia", "Alice"],
"Age": [20, 22, 29, 20, 20, 21],
"Weight(KG)": [65, 75, 80, 60, 63, 70],
"Height(meters)": [1.6, 1.7, 1.85, 1.69, 1.8, 1.75],
"Salary($)": [3200, 3500, 4000, 2090, 2500, 3600],
}
)
print(employees_df, "\n")
Ausgabe:
Name Age Weight(KG) Height(meters) Salary($)
0 Jonathan 20 65 1.60 3200
1 Will 22 75 1.70 3500
2 Michael 29 80 1.85 4000
3 Liva 20 60 1.69 2090
4 Sia 20 63 1.80 2500
5 Alice 21 70 1.75 3600
Anhand des DataFrames employee_df
wollen wir erklären, wie wir eine Korrelationsmatrix erzeugen und visualisieren können.
Erzeugen einer Korrelationsmatrix mit der Methode DataFrame.corr()
import pandas as pd
employees_df = pd.DataFrame(
{
"Name": ["Jonathan", "Will", "Michael", "Liva", "Sia", "Alice"],
"Age": [20, 22, 29, 20, 20, 21],
"Weight(KG)": [65, 75, 80, 60, 63, 70],
"Height(meters)": [1.6, 1.7, 1.85, 1.69, 1.8, 1.75],
"Salary($)": [3200, 3500, 4000, 2090, 2500, 3600],
}
)
print("The DataFrame of Employees is:")
print(employees_df, "\n")
corr_df = employees_df.corr()
print("The correlation DataFrame is:")
print(corr_df, "\n")
Ausgabe:
The DataFrame of Employees is:
Name Age Weight(KG) Height(meters) Salary($)
0 Jonathan 20 65 1.60 3200
1 Will 22 75 1.70 3500
2 Michael 29 80 1.85 4000
3 Liva 20 60 1.69 2090
4 Sia 20 63 1.80 2500
5 Alice 21 70 1.75 3600
The correlation DataFrame is:
Age Weight(KG) Height(meters) Salary($)
Age 1.000000 0.848959 0.655252 0.695206
Weight(KG) 0.848959 1.000000 0.480998 0.914861
Height(meters) 0.655252 0.480998 1.000000 0.285423
Salary($) 0.695206 0.914861 0.285423 1.000000
Es wird ein DataFrame mit Korrelationswerten zwischen jeder Spalte mit jeder anderen Spalte im DataFrame erzeugt.
Die Korrelationswerte werden nur zwischen den Spalten mit numerischen Werten berechnet. Standardmäßig verwendet die Methode corr()
die Methode Pearson
zur Berechnung des Korrelationskoeffizienten. Wir können auch andere Methoden wie Kendall
und Spearman
zur Berechnung des Korrelationskoeffizienten verwenden, indem wir den Wert des Parameters method
in der Methode corr
angeben.
Visualisierung der Pandas-Korrelationsmatrix mit der Methode Matplotlib.pyplot.matshow()
import pandas as pd
import matplotlib.pyplot as plt
employees_df = pd.DataFrame(
{
"Name": ["Jonathan", "Will", "Michael", "Liva", "Sia", "Alice"],
"Age": [20, 22, 29, 20, 20, 21],
"Weight(KG)": [65, 75, 80, 60, 63, 70],
"Height(meters)": [1.6, 1.7, 1.85, 1.69, 1.8, 1.75],
"Salary($)": [3200, 3500, 4000, 2090, 2500, 3600],
}
)
corr_df = employees_df.corr(method="pearson")
plt.matshow(corr_df)
plt.show()
Ausgabe:
Es wird die Korrelationsmatrix, die aus dem DataFrame employees_df
erzeugt wurde, mit Hilfe der Funktion matshow()
aus dem Paket Matplotlib.pyplot
dargestellt.
Visualisierung der Pandas-Korrelationsmatrix mit der Methode seaborn.heatmap()
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
employees_df = pd.DataFrame(
{
"Name": ["Jonathan", "Will", "Michael", "Liva", "Sia", "Alice"],
"Age": [20, 22, 29, 20, 20, 21],
"Weight(KG)": [65, 75, 80, 60, 63, 70],
"Height(meters)": [1.6, 1.7, 1.85, 1.69, 1.8, 1.75],
"Salary($)": [3200, 3500, 4000, 2090, 2500, 3600],
}
)
corr_df = employees_df.corr(method="pearson")
plt.figure(figsize=(8, 6))
sns.heatmap(corr_df, annot=True)
plt.show()
Ausgabe:
Es wird die Korrelationsmatrix dargestellt, die aus dem DataFrame employees_df
mit Hilfe der Funktion heatmap()
aus dem Paket seaborn
erzeugt wurde.
Visualisierung der Korrelationsmatrix unter Verwendung der Eigenschaft DataFrame.style
import pandas as pd
employees_df = pd.DataFrame(
{
"Name": ["Jonathan", "Will", "Michael", "Liva", "Sia", "Alice"],
"Age": [20, 22, 29, 20, 20, 21],
"Weight(KG)": [65, 75, 80, 60, 63, 70],
"Height(meters)": [1.6, 1.7, 1.85, 1.69, 1.8, 1.75],
"Salary($)": [3200, 3500, 4000, 2090, 2500, 3600],
}
)
corr_df = employees_df.corr(method="pearson")
corr_df.style.background_gradient(cmap="coolwarm")
Ausgabe:
Die Eigenschaft style
des DataFrame-Objekts corr_df
gibt ein Styler
-Objekt zurück. Wir können das DataFrame-Objekt mit Hilfe des background_gradient
für das Styler
-Objekt visualisieren.
Diese Methode kann nur Zahlen im IPython
-Notebook erzeugen.
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn