Matrice di correlazione Pandas
-
Genera matrice di correlazione utilizzando il metodo
DataFrame.corr()
-
Visualizza la matrice di correlazione di Pandas usando il metodo
Matplotlib.pyplot.matshow()
-
Visualizza la matrice di correlazione di Pandas usando il metodo
seaborn.heatmap()
-
Visualizza la matrice di correlazione utilizzando la proprietà
DataFrame.style
Questo tutorial spiegherà come possiamo generare un array di correlazione usando il metodo DataFrame.corr()
e visualizzare la matrice di correlazione usando il metodo pyplot.matshow()
in 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")
Produzione:
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
Useremo il DataFrame employees_df
per spiegare come possiamo generare e visualizzare un array di correlazione.
Genera matrice di correlazione utilizzando il metodo 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")
Produzione:
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
Genera un DataFrame con valori di correlazione tra ogni colonna con ogni altra colonna nel DataFrame.
I valori di correlazione verranno calcolati solo tra le colonne con valori numerici. Per impostazione predefinita, il metodo corr()
utilizza il metodo Pearson
per calcolare il coefficiente di correlazione. Possiamo anche usare altri metodi come Kendall
e spearman
per calcolare il coefficiente di correlazione specificando il valore del parametro method
nel metodo corr
.
Visualizza la matrice di correlazione di Pandas usando il metodo 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()
Produzione:
Traccia la matrice di correlazione generata dal DataFrame dipendenti_df
utilizzando la funzione matshow()
nel pacchetto Matplotlib.pyplot
.
Visualizza la matrice di correlazione di Pandas usando il metodo 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()
Produzione:
Traccia la matrice di correlazione generata dal DataFrame dipendenti_df
utilizzando la funzione heatmap()
nel pacchetto seaborn
.
Visualizza la matrice di correlazione utilizzando la proprietà 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")
Produzione:
La proprietà style
dell’oggetto DataFrame corr_df
restituisce un oggetto Styler
. Possiamo visualizzare l’oggetto DataFrame usando background_gradient
per l’oggetto Styler
.
Questo metodo può generare solo figure nel notebook IPython
.
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn