Matrice de corrélation de Pandas
-
Générer une matrice de corrélation en utilisant la méthode
DataFrame.corr()
-
Visualisez la matrice de corrélation de Pandas en utilisant la méthode
Matplotlib.pyplot.matshow()
-
Visualisez la matrice de corrélation de Pandas en utilisant la méthode
seaborn.heatmap()
-
Visualisez la matrice de corrélation en utilisant la propriété
DataFrame.style
Ce tutoriel expliquera comment nous pouvons générer une matrice de corrélation en utilisant la méthode DataFrame.corr()
et visualiser la matrice de corrélation en utilisant la méthode pyplot.matshow()
dans Matplotlib.
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")
Production :
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
Nous utiliserons la DataFrame employees_df
pour expliquer comment nous pouvons générer et visualiser une matrice de corrélation.
Générer une matrice de corrélation en utilisant la méthode 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")
Production :
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
Il génère un DataFrame avec des valeurs de corrélation entre chaque colonne et une colonne sur deux dans le DataFrame.
Les valeurs de corrélation seront uniquement calculées entre les colonnes avec des valeurs numériques. Par défaut, la méthode corr()
utilise la méthode Pearson
pour calculer le coefficient de corrélation. Nous pouvons également utiliser d’autres méthodes comme Kendall
et Spearman
pour calculer le coefficient de corrélation en spécifiant la valeur du paramètre method
dans la méthode corr
.
Visualisez la matrice de corrélation de Pandas en utilisant la méthode 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()
Production :
Il trace la matrice de corrélation générée à partir du DataFrame employees_df
en utilisant la fonction matshow()
dans le paquet Matplotlib.pyplot
.
Visualisez la matrice de corrélation de Pandas en utilisant la méthode 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()
Production :
Il trace la matrice de corrélation générée à partir du DataFrame employees_df
en utilisant la fonction heatmap()
dans le paquet seaborn
.
Visualisez la matrice de corrélation en utilisant la propriété 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")
Production :
La propriété style
de l’objet DataFrame corr_df
renvoie un objet Styler
. Nous pouvons visualiser l’objet DataFrame en utilisant le background_gradient
pour l’objet Styler
.
Cette méthode ne peut générer que des figures dans le notebook IPython
.
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn