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