Considerazioni per i dati categorici

Analisi esplorativa dei dati in Python

George Boorman

Curriculum Manager, DataCamp

Perché fare EDA?

  • Individuare pattern e relazioni

 

 

  • Generare domande o ipotesi

 

 

  • Preparare i dati per il machine learning

Punto interrogativo in neon rosso

1 Image credit: https://unsplash.com/@simonesecci
Analisi esplorativa dei dati in Python

Dati rappresentativi

  • Il campione rappresenta la popolazione

Per esempio:

  • Istruzione vs reddito negli USA
    • Non puoi usare dati dalla Francia

Bandiera USA

Bandiera francese

1 Image credits: https://unsplash.com/@cristina_glebova; https://unsplash.com/@nimbus_vulpis
Analisi esplorativa dei dati in Python

Classi categoriche

  • Classi = etichette

 

  • Sondaggio sugli atteggiamenti verso il matrimonio
    • Stato civile
      • Single
      • Sposato/a
      • Divorziato/a
Analisi esplorativa dei dati in Python

Squilibrio di classe

grafico a barre con conteggi degli stati civili in un campione: 700 divorziati, 250 single e 50 sposati

Analisi esplorativa dei dati in Python

Frequenza delle classi

print(planes["Destination"].value_counts())
Cochin       4391
Banglore     2773
Delhi        1219
New Delhi     888
Hyderabad     673
Kolkata       369
Name: Destination, dtype: int64
Analisi esplorativa dei dati in Python

Frequenza relativa delle classi

  • Il 40% dei voli interni in India ha destinazione Delhi
planes["Destination"].value_counts(normalize=True)
Cochin       0.425773
Banglore     0.268884
Delhi        0.118200
New Delhi    0.086105
Hyderabad    0.065257
Kolkata      0.035780
Name: Destination, dtype: float64
  • Il nostro campione è rappresentativo della popolazione (voli interni in India)?
Analisi esplorativa dei dati in Python

Tabelle a doppia entrata

Chiama pd-dot-crosstab

pd.crosstab(
Analisi esplorativa dei dati in Python

Seleziona indice

Seleziona la colonna da usare come indice

pd.crosstab(planes["Source"],
Analisi esplorativa dei dati in Python

Seleziona colonne

Seleziona la colonna

pd.crosstab(planes["Source"], planes["Destination"])
Analisi esplorativa dei dati in Python

Tabella a doppia entrata

Destination  Banglore  Cochin  Delhi  Hyderabad  Kolkata  New Delhi
Source                                                             
Banglore            0       0   1199          0        0        868
Chennai             0       0      0          0      364          0
Delhi               0    4318      0          0        0          0
Kolkata          2720       0      0          0        0          0
Mumbai              0       0      0        662        0          0
Analisi esplorativa dei dati in Python

Estendere la tabella incrociata

Source Destination Prezzo mediano (IDR)
Banglore Delhi 4232.21
Banglore New Delhi 12114.56
Chennai Kolkata 3859.76
Delhi Cochin 9987.63
Kolkata Banglore 9654.21
Mumbai Hyderabad 3431.97
Analisi esplorativa dei dati in Python

Valori aggregati con pd.crosstab()

pd.crosstab(planes["Source"], planes["Destination"],

values=planes["Price"], aggfunc="median")
Destination  Banglore   Cochin   Delhi  Hyderabad  Kolkata  New Delhi
Source                                                               
Banglore          NaN      NaN  4823.0        NaN      NaN    10976.5
Chennai           NaN      NaN     NaN        NaN   3850.0        NaN
Delhi             NaN  10262.0     NaN        NaN      NaN        NaN
Kolkata        9345.0      NaN     NaN        NaN      NaN        NaN
Mumbai            NaN      NaN     NaN     3342.0      NaN        NaN
Analisi esplorativa dei dati in Python

Confronto campione vs popolazione

Source Destination Prezzo mediano (IDR) Prezzo mediano (dataset)
Banglore Delhi 4232.21 4823.0
Banglore New Delhi 12114.56 10976.50
Chennai Kolkata 3859.76 3850.0
Delhi Cochin 9987.63 10260.0
Kolkata Banglore 9654.21 9345.0
Mumbai Hyderabad 3431.97 3342.0
Analisi esplorativa dei dati in Python

Ayo berlatih!

Analisi esplorativa dei dati in Python

Preparing Video For Download...